Coverage Report

Created: 2025-07-01 02:00

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
54.3k
    {
87
54.3k
        return s - i;
88
54.3k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
51.6k
    {
87
51.6k
        return s - i;
88
51.6k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
2.68k
    {
87
2.68k
        return s - i;
88
2.68k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
54.3k
    {
108
54.3k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
54.3k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
51.6k
    {
108
51.6k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
51.6k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
2.68k
    {
108
2.68k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
2.68k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
90.3k
    {
132
90.3k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
90.3k
        return t;
136
90.3k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
145k
    {
151
145k
        i += n;
152
145k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
106k
    {
151
106k
        i += n;
152
106k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
39.1k
    {
151
39.1k
        i += n;
152
39.1k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.78k
    {
161
3.78k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.78k
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
3.71k
        else {
169
3.71k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.71k
        }
173
3.78k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.51k
    {
161
1.51k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.51k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.51k
        else {
169
1.51k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.51k
        }
173
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
66
    {
161
66
        constexpr auto zero = iter_difference_t<I>{0};
162
163
66
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
66
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.20k
    {
161
2.20k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.20k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.20k
        else {
169
2.20k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.20k
        }
173
2.20k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
7.45k
    {
190
7.45k
        i = std::move(bound);
191
7.45k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
984
    {
190
984
        i = std::move(bound);
191
984
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
6.47k
    {
190
6.47k
        i = std::move(bound);
191
6.47k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
258
    {
203
4.14k
        while (i != bound) {
204
3.88k
            ++i;
205
3.88k
        }
206
258
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
180
    {
203
2.77k
        while (i != bound) {
204
2.59k
            ++i;
205
2.59k
        }
206
180
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
45.1k
    {
212
45.1k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
45.0k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
45.0k
        return n;
219
45.1k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
45.1k
    {
212
45.1k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
45.0k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
45.0k
        return n;
219
45.1k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.25k
    {
227
4.25k
        constexpr iter_difference_t<I> zero{0};
228
4.25k
        iter_difference_t<I> counter{0};
229
230
4.25k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.25k
        else {
237
14.4k
            while (n-- > zero && i != bound) {
238
10.2k
                ++i;
239
10.2k
                ++counter;
240
10.2k
            }
241
4.25k
        }
242
243
4.25k
        return counter;
244
4.25k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.34k
    {
227
3.34k
        constexpr iter_difference_t<I> zero{0};
228
3.34k
        iter_difference_t<I> counter{0};
229
230
3.34k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.34k
        else {
237
11.1k
            while (n-- > zero && i != bound) {
238
7.78k
                ++i;
239
7.78k
                ++counter;
240
7.78k
            }
241
3.34k
        }
242
243
3.34k
        return counter;
244
3.34k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
902
    {
227
902
        constexpr iter_difference_t<I> zero{0};
228
902
        iter_difference_t<I> counter{0};
229
230
902
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
902
        else {
237
3.34k
            while (n-- > zero && i != bound) {
238
2.44k
                ++i;
239
2.44k
                ++counter;
240
2.44k
            }
241
902
        }
242
243
902
        return counter;
244
902
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
103k
    {
268
103k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
103k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
60.9k
    {
268
60.9k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
60.9k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
39.1k
    {
268
39.1k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
39.1k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.51k
    {
268
1.51k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
66
    {
268
66
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.20k
    {
268
2.20k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.20k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
7.63k
    {
275
7.63k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
7.63k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
900
    {
275
900
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
900
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
180
    {
275
180
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
180
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
6.47k
    {
275
6.47k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
6.47k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
49.4k
    {
283
49.4k
        return n - fn::impl_i_n_s(i, n, bound);
284
49.4k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.34k
    {
283
3.34k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.34k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
45.1k
    {
283
45.1k
        return n - fn::impl_i_n_s(i, n, bound);
284
45.1k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
902
    {
283
902
        return n - fn::impl_i_n_s(i, n, bound);
284
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
205M
    {
296
205M
        ++x;
297
205M
        return x;
298
205M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.47k
    {
296
2.47k
        ++x;
297
2.47k
        return x;
298
2.47k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
42.6k
    {
296
42.6k
        ++x;
297
42.6k
        return x;
298
42.6k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.45k
    {
296
1.45k
        ++x;
297
1.45k
        return x;
298
1.45k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
205M
    {
296
205M
        ++x;
297
205M
        return x;
298
205M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
100k
    {
304
100k
        ranges::advance(x, n);
305
100k
        return x;
306
100k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
60.9k
    {
304
60.9k
        ranges::advance(x, n);
305
60.9k
        return x;
306
60.9k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
39.1k
    {
304
39.1k
        ranges::advance(x, n);
305
39.1k
        return x;
306
39.1k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
66
    {
304
66
        ranges::advance(x, n);
305
66
        return x;
306
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
7.63k
    {
313
7.63k
        ranges::advance(x, bound);
314
7.63k
        return x;
315
7.63k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
900
    {
313
900
        ranges::advance(x, bound);
314
900
        return x;
315
900
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
180
    {
313
180
        ranges::advance(x, bound);
314
180
        return x;
315
180
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
6.47k
    {
313
6.47k
        ranges::advance(x, bound);
314
6.47k
        return x;
315
6.47k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
37.8k
{
458
37.8k
    return is_ascii_space_lookup[static_cast<size_t>(
459
37.8k
        static_cast<unsigned char>(ch))];
460
37.8k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
279k
{
469
279k
    return static_cast<unsigned char>(ch) <= 127;
470
279k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
3.74k
{
474
3.74k
#if WCHAR_MIN < 0
475
3.74k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
3.74k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
306k
{
483
306k
    return cp <= 127;
484
306k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + n) - (word & ~0ull / 255 * 127)) & ~word &
532
0
             ((word & ~0ull / 255 * 127) + ~0ull / 255 * (127 - m))) &
533
0
            (~0ull / 255 * 128));
534
0
}
535
536
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
537
30.8k
{
538
30.8k
    SCN_GCC_PUSH
539
30.8k
    SCN_GCC_IGNORE("-Wsign-conversion")
540
30.8k
    return ((word + ~0ull / 255 * (127 - n)) | word) & ~0ull / 255 * 128;
541
30.8k
    SCN_GCC_POP
542
30.8k
}
543
544
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
545
0
{
546
0
    word ^= 0x8080808080808080ull;
547
0
    if (word == 0) {
548
0
        return 8;
549
0
    }
550
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
551
0
}
552
553
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
554
0
{
555
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
556
0
    auto input = word ^ pattern;
557
0
    auto tmp = (input & mask) + mask;
558
0
    tmp = ~(tmp | input | mask);
559
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
560
0
}
561
562
constexpr uint32_t log2_fast(uint32_t val)
563
0
{
564
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
565
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
566
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
567
0
568
0
    val |= val >> 1;
569
0
    val |= val >> 2;
570
0
    val |= val >> 4;
571
0
    val |= val >> 8;
572
0
    val |= val >> 16;
573
0
574
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
575
0
}
576
577
constexpr uint32_t log2_pow2_fast(uint32_t val)
578
0
{
579
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
580
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
581
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
582
0
583
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
584
0
}
585
586
constexpr uint64_t byteswap(uint64_t val)
587
0
{
588
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
589
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
590
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
591
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
592
0
}
593
594
/////////////////////////////////////////////////////////////////
595
// <function_ref>
596
/////////////////////////////////////////////////////////////////
597
598
namespace fnref_detail {
599
template <class T>
600
inline constexpr auto select_param_type = [] {
601
    if constexpr (std::is_trivially_copyable_v<T>) {
602
        return detail::type_identity<T>();
603
    }
604
    else {
605
        return std::add_rvalue_reference<T>();
606
    }
607
};
608
609
template <class T>
610
using param_t =
611
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
612
613
template <typename Sig>
614
struct qual_fn_sig;
615
616
template <typename R, typename... Args>
617
struct qual_fn_sig<R(Args...)> {
618
    using function = R(Args...);
619
620
    static constexpr bool is_noexcept = false;
621
622
    template <typename... T>
623
    static constexpr bool is_invocable_using =
624
        std::is_invocable_r_v<R, T..., Args...>;
625
626
    template <typename T>
627
    using cv = T;
628
};
629
630
template <typename R, typename... Args>
631
struct qual_fn_sig<R(Args...) noexcept> {
632
    using function = R(Args...);
633
634
    static constexpr bool is_noexcept = true;
635
636
    template <typename... T>
637
    static constexpr bool is_invocable_using =
638
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
639
640
    template <typename T>
641
    using cv = T;
642
};
643
644
template <typename R, typename... Args>
645
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
646
    template <typename T>
647
    using cv = T const;
648
};
649
650
template <typename R, typename... Args>
651
struct qual_fn_sig<R(Args...) const noexcept>
652
    : qual_fn_sig<R(Args...) noexcept> {
653
    template <typename T>
654
    using cv = T const;
655
};
656
657
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
658
SCN_CLANG_PUSH
659
SCN_CLANG_IGNORE("-Wcast-function-type-strict")
660
#endif
661
struct base {
662
    union storage {
663
        constexpr storage() = default;
664
665
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
666
435k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
435k
        {
668
435k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.69k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.69k
        {
668
2.69k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
178k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
178k
        {
668
178k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
41.2k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
41.2k
        {
668
41.2k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
1.01k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.01k
        {
668
1.01k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
566
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
566
        {
668
566
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
8
        {
668
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
352
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
352
        {
668
352
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
22
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22
        {
668
22
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
12
        {
668
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
348
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
348
        {
668
348
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6
        {
668
6
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
288
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
288
        {
668
288
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
948
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
948
        {
668
948
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.78k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.78k
        {
668
2.78k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
3.42k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.42k
        {
668
3.42k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
60.1k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
60.1k
        {
668
60.1k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
544
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
544
        {
668
544
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
434
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
434
        {
668
434
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
111k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
111k
        {
668
111k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
26
        {
668
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
192
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
192
        {
668
192
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
24
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
24
        {
668
24
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
180
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
180
        {
668
180
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
430
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
430
        {
668
430
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
474
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
474
        {
668
474
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
19.2k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
19.2k
        {
668
19.2k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
68
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
68
        {
668
68
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
628
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
628
        {
668
628
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
2.20k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.20k
        {
668
2.20k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6.04k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6.04k
        {
668
6.04k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
1.26k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.26k
        {
668
1.26k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
669
670
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
671
7.27k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
7.27k
        {
673
7.27k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
482
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
482
        {
673
482
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
456
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
456
        {
673
456
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
378
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
378
        {
673
378
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
2.32k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
2.32k
        {
673
2.32k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
210
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
210
        {
673
210
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
1.32k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
1.32k
        {
673
1.32k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
342
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
342
        {
673
342
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
186
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
186
        {
673
186
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
402
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
402
        {
673
402
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
180
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
180
        {
673
180
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
492
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
492
        {
673
492
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
494
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
494
        {
673
494
        }
674
675
        template <typename F,
676
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
677
        constexpr explicit storage(F* f) noexcept
678
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
679
        {
680
        }
681
682
        void* m_p{nullptr};
683
        const void* m_cp;
684
        void (*m_fp)();
685
    };
686
687
    template <typename T>
688
    static constexpr auto get(storage s)
689
1.26M
    {
690
1.26M
        if constexpr (std::is_const_v<T>) {
691
324k
            return static_cast<T*>(s.m_cp);
692
        }
693
938k
        else if constexpr (std::is_object_v<T>) {
694
938k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.26M
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
7.10k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.10k
        else if constexpr (std::is_object_v<T>) {
694
7.10k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.10k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
530k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
530k
        else if constexpr (std::is_object_v<T>) {
694
530k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
530k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
49.0k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
49.0k
        else if constexpr (std::is_object_v<T>) {
694
49.0k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
49.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
1.01k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.01k
        else if constexpr (std::is_object_v<T>) {
694
1.01k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.01k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
900
    {
690
900
        if constexpr (std::is_const_v<T>) {
691
900
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
900
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.71k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.71k
        else if constexpr (std::is_object_v<T>) {
694
1.71k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.71k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
8
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8
        else if constexpr (std::is_object_v<T>) {
694
8
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
352
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
352
        else if constexpr (std::is_object_v<T>) {
694
352
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
352
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
22
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22
        else if constexpr (std::is_object_v<T>) {
694
22
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
12
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12
        else if constexpr (std::is_object_v<T>) {
694
12
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
348
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
348
        else if constexpr (std::is_object_v<T>) {
694
348
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
348
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6
        else if constexpr (std::is_object_v<T>) {
694
6
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
288
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
288
        else if constexpr (std::is_object_v<T>) {
694
288
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
288
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.2k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
10.2k
        else if constexpr (std::is_object_v<T>) {
694
10.2k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
11.2k
    {
690
11.2k
        if constexpr (std::is_const_v<T>) {
691
11.2k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
11.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
7.25k
    {
690
7.25k
        if constexpr (std::is_const_v<T>) {
691
7.25k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.25k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
285k
    {
690
285k
        if constexpr (std::is_const_v<T>) {
691
285k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
285k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
3.13k
    {
690
3.13k
        if constexpr (std::is_const_v<T>) {
691
3.13k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
6.40k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.40k
        else if constexpr (std::is_object_v<T>) {
694
6.40k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.40k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
8.77k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8.77k
        else if constexpr (std::is_object_v<T>) {
694
8.77k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8.77k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
60.8k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
60.8k
        else if constexpr (std::is_object_v<T>) {
694
60.8k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
60.8k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
568
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
568
        else if constexpr (std::is_object_v<T>) {
694
568
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
568
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.15k
    {
690
2.15k
        if constexpr (std::is_const_v<T>) {
691
2.15k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.15k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
764
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
764
        else if constexpr (std::is_object_v<T>) {
694
764
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
764
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
166k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
166k
        else if constexpr (std::is_object_v<T>) {
694
166k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
166k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
196
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
196
        else if constexpr (std::is_object_v<T>) {
694
196
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
196
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
180
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
180
        else if constexpr (std::is_object_v<T>) {
694
180
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
180
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
430
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
430
        else if constexpr (std::is_object_v<T>) {
694
430
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
430
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
7.53k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.53k
        else if constexpr (std::is_object_v<T>) {
694
7.53k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.53k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.03k
    {
690
4.03k
        if constexpr (std::is_const_v<T>) {
691
4.03k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.03k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.67k
    {
690
1.67k
        if constexpr (std::is_const_v<T>) {
691
1.67k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.67k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
72.3k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
72.3k
        else if constexpr (std::is_object_v<T>) {
694
72.3k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
72.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
5.01k
    {
690
5.01k
        if constexpr (std::is_const_v<T>) {
691
5.01k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
5.01k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.07k
    {
690
2.07k
        if constexpr (std::is_const_v<T>) {
691
2.07k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.07k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.79k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.79k
        else if constexpr (std::is_object_v<T>) {
694
1.79k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.79k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
628
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
628
        else if constexpr (std::is_object_v<T>) {
694
628
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
628
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
708
    {
690
708
        if constexpr (std::is_const_v<T>) {
691
708
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
708
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.41k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
3.41k
        else if constexpr (std::is_object_v<T>) {
694
3.41k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.41k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6.04k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.04k
        else if constexpr (std::is_object_v<T>) {
694
6.04k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
758
    {
690
758
        if constexpr (std::is_const_v<T>) {
691
758
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
758
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.58k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.58k
        else if constexpr (std::is_object_v<T>) {
694
1.58k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.58k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
700
};
701
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
702
SCN_CLANG_POP  // -Wcast-function-type-strict
703
#endif
704
705
}  // namespace fnref_detail
706
707
template <typename Sig,
708
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
709
class function_ref;
710
711
template <typename Sig, typename R, typename... Args>
712
class function_ref<Sig, R(Args...)> : fnref_detail::base {
713
    using signature = fnref_detail::qual_fn_sig<Sig>;
714
715
    template <typename T>
716
    using cv = typename signature::template cv<T>;
717
    template <typename T>
718
    using cvref = cv<T>&;
719
    static constexpr bool noex = signature::is_noexcept;
720
721
    template <typename... T>
722
    static constexpr bool is_invocable_using =
723
        signature::template is_invocable_using<T...>;
724
725
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
726
727
public:
728
    template <typename F,
729
              std::enable_if_t<std::is_function_v<F> &&
730
                               is_invocable_using<F>>* = nullptr>
731
    /*implicit*/ function_ref(F* f) noexcept
732
        : m_fptr([](storage fn,
733
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
734
              if constexpr (std::is_void_v<R>) {
735
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
736
              }
737
              else {
738
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
739
              }
740
          }),
741
          m_storage(f)
742
    {
743
        SCN_EXPECT(f != nullptr);
744
    }
745
746
    template <typename F,
747
              typename T = std::remove_reference_t<F>,
748
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
749
                               !std::is_member_pointer_v<T> &&
750
                               is_invocable_using<cvref<T>>>* = nullptr>
751
    /*implicit*/ constexpr function_ref(F&& f) noexcept
752
443k
        : m_fptr([](storage fn,
753
1.26M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.26M
              cvref<T> obj = *get<T>(fn);
755
1.26M
              if constexpr (std::is_void_v<R>) {
756
57.8k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.20M
              else {
759
1.20M
                  return obj(static_cast<decltype(args)>(args)...);
760
1.20M
              }
761
1.26M
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
753
7.10k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.10k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.10k
              else {
759
7.10k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.10k
              }
761
7.10k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
753
530k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
530k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
530k
              else {
759
530k
                  return obj(static_cast<decltype(args)>(args)...);
760
530k
              }
761
530k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
49.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
49.0k
              cvref<T> obj = *get<T>(fn);
755
49.0k
              if constexpr (std::is_void_v<R>) {
756
49.0k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
49.0k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
753
1.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.01k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.01k
              else {
759
1.01k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.01k
              }
761
1.01k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
900
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
900
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
900
              else {
759
900
                  return obj(static_cast<decltype(args)>(args)...);
760
900
              }
761
900
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
1.71k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.71k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.71k
              else {
759
1.71k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.71k
              }
761
1.71k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
352
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
352
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
352
              else {
759
352
                  return obj(static_cast<decltype(args)>(args)...);
760
352
              }
761
352
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
288
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
288
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
288
              else {
759
288
                  return obj(static_cast<decltype(args)>(args)...);
760
288
              }
761
288
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
10.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.2k
              else {
759
10.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.2k
              }
761
10.2k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
11.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
11.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
11.2k
              else {
759
11.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
11.2k
              }
761
11.2k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
7.25k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.25k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.25k
              else {
759
7.25k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.25k
              }
761
7.25k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
285k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
285k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
285k
              else {
759
285k
                  return obj(static_cast<decltype(args)>(args)...);
760
285k
              }
761
285k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
3.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.13k
              else {
759
3.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.13k
              }
761
3.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
753
6.40k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.40k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.40k
              else {
759
6.40k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.40k
              }
761
6.40k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
8.77k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8.77k
              cvref<T> obj = *get<T>(fn);
755
8.77k
              if constexpr (std::is_void_v<R>) {
756
8.77k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
8.77k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
60.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
60.8k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
60.8k
              else {
759
60.8k
                  return obj(static_cast<decltype(args)>(args)...);
760
60.8k
              }
761
60.8k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
753
568
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
568
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
568
              else {
759
568
                  return obj(static_cast<decltype(args)>(args)...);
760
568
              }
761
568
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.15k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.15k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.15k
              else {
759
2.15k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.15k
              }
761
2.15k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
764
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
764
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
764
              else {
759
764
                  return obj(static_cast<decltype(args)>(args)...);
760
764
              }
761
764
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
166k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
166k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
166k
              else {
759
166k
                  return obj(static_cast<decltype(args)>(args)...);
760
166k
              }
761
166k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
196
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
196
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
196
              else {
759
196
                  return obj(static_cast<decltype(args)>(args)...);
760
196
              }
761
196
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
180
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
180
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
180
              else {
759
180
                  return obj(static_cast<decltype(args)>(args)...);
760
180
              }
761
180
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
430
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
430
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
430
              else {
759
430
                  return obj(static_cast<decltype(args)>(args)...);
760
430
              }
761
430
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
7.53k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.53k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.53k
              else {
759
7.53k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.53k
              }
761
7.53k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
4.03k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.03k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.03k
              else {
759
4.03k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.03k
              }
761
4.03k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
1.67k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.67k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.67k
              else {
759
1.67k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.67k
              }
761
1.67k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
72.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
72.3k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
72.3k
              else {
759
72.3k
                  return obj(static_cast<decltype(args)>(args)...);
760
72.3k
              }
761
72.3k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
5.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
5.01k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
5.01k
              else {
759
5.01k
                  return obj(static_cast<decltype(args)>(args)...);
760
5.01k
              }
761
5.01k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.07k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.07k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.07k
              else {
759
2.07k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.07k
              }
761
2.07k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
1.79k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.79k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.79k
              else {
759
1.79k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.79k
              }
761
1.79k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
628
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
628
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
628
              else {
759
628
                  return obj(static_cast<decltype(args)>(args)...);
760
628
              }
761
628
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
708
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
708
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
708
              else {
759
708
                  return obj(static_cast<decltype(args)>(args)...);
760
708
              }
761
708
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
3.41k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.41k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.41k
              else {
759
3.41k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.41k
              }
761
3.41k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
6.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.04k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.04k
              else {
759
6.04k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.04k
              }
761
6.04k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
758
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
758
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
758
              else {
759
758
                  return obj(static_cast<decltype(args)>(args)...);
760
758
              }
761
758
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
1.58k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.58k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.58k
              else {
759
1.58k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.58k
              }
761
1.58k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
762
443k
          m_storage(std::addressof(f))
763
443k
    {
764
443k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.69k
        : m_fptr([](storage fn,
753
2.69k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.69k
              cvref<T> obj = *get<T>(fn);
755
2.69k
              if constexpr (std::is_void_v<R>) {
756
2.69k
                  obj(static_cast<decltype(args)>(args)...);
757
2.69k
              }
758
2.69k
              else {
759
2.69k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.69k
              }
761
2.69k
          }),
762
2.69k
          m_storage(std::addressof(f))
763
2.69k
    {
764
2.69k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
178k
        : m_fptr([](storage fn,
753
178k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
178k
              cvref<T> obj = *get<T>(fn);
755
178k
              if constexpr (std::is_void_v<R>) {
756
178k
                  obj(static_cast<decltype(args)>(args)...);
757
178k
              }
758
178k
              else {
759
178k
                  return obj(static_cast<decltype(args)>(args)...);
760
178k
              }
761
178k
          }),
762
178k
          m_storage(std::addressof(f))
763
178k
    {
764
178k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
41.2k
        : m_fptr([](storage fn,
753
41.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
41.2k
              cvref<T> obj = *get<T>(fn);
755
41.2k
              if constexpr (std::is_void_v<R>) {
756
41.2k
                  obj(static_cast<decltype(args)>(args)...);
757
41.2k
              }
758
41.2k
              else {
759
41.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
41.2k
              }
761
41.2k
          }),
762
41.2k
          m_storage(std::addressof(f))
763
41.2k
    {
764
41.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
1.01k
        : m_fptr([](storage fn,
753
1.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.01k
              cvref<T> obj = *get<T>(fn);
755
1.01k
              if constexpr (std::is_void_v<R>) {
756
1.01k
                  obj(static_cast<decltype(args)>(args)...);
757
1.01k
              }
758
1.01k
              else {
759
1.01k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.01k
              }
761
1.01k
          }),
762
1.01k
          m_storage(std::addressof(f))
763
1.01k
    {
764
1.01k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
482
        : m_fptr([](storage fn,
753
482
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
482
              cvref<T> obj = *get<T>(fn);
755
482
              if constexpr (std::is_void_v<R>) {
756
482
                  obj(static_cast<decltype(args)>(args)...);
757
482
              }
758
482
              else {
759
482
                  return obj(static_cast<decltype(args)>(args)...);
760
482
              }
761
482
          }),
762
482
          m_storage(std::addressof(f))
763
482
    {
764
482
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
566
        : m_fptr([](storage fn,
753
566
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
566
              cvref<T> obj = *get<T>(fn);
755
566
              if constexpr (std::is_void_v<R>) {
756
566
                  obj(static_cast<decltype(args)>(args)...);
757
566
              }
758
566
              else {
759
566
                  return obj(static_cast<decltype(args)>(args)...);
760
566
              }
761
566
          }),
762
566
          m_storage(std::addressof(f))
763
566
    {
764
566
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
8
        : m_fptr([](storage fn,
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
8
              if constexpr (std::is_void_v<R>) {
756
8
                  obj(static_cast<decltype(args)>(args)...);
757
8
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
762
8
          m_storage(std::addressof(f))
763
8
    {
764
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
352
        : m_fptr([](storage fn,
753
352
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
352
              cvref<T> obj = *get<T>(fn);
755
352
              if constexpr (std::is_void_v<R>) {
756
352
                  obj(static_cast<decltype(args)>(args)...);
757
352
              }
758
352
              else {
759
352
                  return obj(static_cast<decltype(args)>(args)...);
760
352
              }
761
352
          }),
762
352
          m_storage(std::addressof(f))
763
352
    {
764
352
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
22
        : m_fptr([](storage fn,
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
22
              if constexpr (std::is_void_v<R>) {
756
22
                  obj(static_cast<decltype(args)>(args)...);
757
22
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
762
22
          m_storage(std::addressof(f))
763
22
    {
764
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
12
        : m_fptr([](storage fn,
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
12
              if constexpr (std::is_void_v<R>) {
756
12
                  obj(static_cast<decltype(args)>(args)...);
757
12
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
762
12
          m_storage(std::addressof(f))
763
12
    {
764
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
348
        : m_fptr([](storage fn,
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
348
              if constexpr (std::is_void_v<R>) {
756
348
                  obj(static_cast<decltype(args)>(args)...);
757
348
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
762
348
          m_storage(std::addressof(f))
763
348
    {
764
348
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6
        : m_fptr([](storage fn,
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
6
              if constexpr (std::is_void_v<R>) {
756
6
                  obj(static_cast<decltype(args)>(args)...);
757
6
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
762
6
          m_storage(std::addressof(f))
763
6
    {
764
6
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
288
        : m_fptr([](storage fn,
753
288
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
288
              cvref<T> obj = *get<T>(fn);
755
288
              if constexpr (std::is_void_v<R>) {
756
288
                  obj(static_cast<decltype(args)>(args)...);
757
288
              }
758
288
              else {
759
288
                  return obj(static_cast<decltype(args)>(args)...);
760
288
              }
761
288
          }),
762
288
          m_storage(std::addressof(f))
763
288
    {
764
288
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
948
        : m_fptr([](storage fn,
753
948
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
948
              cvref<T> obj = *get<T>(fn);
755
948
              if constexpr (std::is_void_v<R>) {
756
948
                  obj(static_cast<decltype(args)>(args)...);
757
948
              }
758
948
              else {
759
948
                  return obj(static_cast<decltype(args)>(args)...);
760
948
              }
761
948
          }),
762
948
          m_storage(std::addressof(f))
763
948
    {
764
948
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
456
        : m_fptr([](storage fn,
753
456
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
456
              cvref<T> obj = *get<T>(fn);
755
456
              if constexpr (std::is_void_v<R>) {
756
456
                  obj(static_cast<decltype(args)>(args)...);
757
456
              }
758
456
              else {
759
456
                  return obj(static_cast<decltype(args)>(args)...);
760
456
              }
761
456
          }),
762
456
          m_storage(std::addressof(f))
763
456
    {
764
456
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
378
        : m_fptr([](storage fn,
753
378
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
378
              cvref<T> obj = *get<T>(fn);
755
378
              if constexpr (std::is_void_v<R>) {
756
378
                  obj(static_cast<decltype(args)>(args)...);
757
378
              }
758
378
              else {
759
378
                  return obj(static_cast<decltype(args)>(args)...);
760
378
              }
761
378
          }),
762
378
          m_storage(std::addressof(f))
763
378
    {
764
378
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.32k
        : m_fptr([](storage fn,
753
2.32k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.32k
              cvref<T> obj = *get<T>(fn);
755
2.32k
              if constexpr (std::is_void_v<R>) {
756
2.32k
                  obj(static_cast<decltype(args)>(args)...);
757
2.32k
              }
758
2.32k
              else {
759
2.32k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.32k
              }
761
2.32k
          }),
762
2.32k
          m_storage(std::addressof(f))
763
2.32k
    {
764
2.32k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
210
        : m_fptr([](storage fn,
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
210
              if constexpr (std::is_void_v<R>) {
756
210
                  obj(static_cast<decltype(args)>(args)...);
757
210
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
762
210
          m_storage(std::addressof(f))
763
210
    {
764
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.78k
        : m_fptr([](storage fn,
753
2.78k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.78k
              cvref<T> obj = *get<T>(fn);
755
2.78k
              if constexpr (std::is_void_v<R>) {
756
2.78k
                  obj(static_cast<decltype(args)>(args)...);
757
2.78k
              }
758
2.78k
              else {
759
2.78k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.78k
              }
761
2.78k
          }),
762
2.78k
          m_storage(std::addressof(f))
763
2.78k
    {
764
2.78k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
3.42k
        : m_fptr([](storage fn,
753
3.42k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.42k
              cvref<T> obj = *get<T>(fn);
755
3.42k
              if constexpr (std::is_void_v<R>) {
756
3.42k
                  obj(static_cast<decltype(args)>(args)...);
757
3.42k
              }
758
3.42k
              else {
759
3.42k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.42k
              }
761
3.42k
          }),
762
3.42k
          m_storage(std::addressof(f))
763
3.42k
    {
764
3.42k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
60.1k
        : m_fptr([](storage fn,
753
60.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
60.1k
              cvref<T> obj = *get<T>(fn);
755
60.1k
              if constexpr (std::is_void_v<R>) {
756
60.1k
                  obj(static_cast<decltype(args)>(args)...);
757
60.1k
              }
758
60.1k
              else {
759
60.1k
                  return obj(static_cast<decltype(args)>(args)...);
760
60.1k
              }
761
60.1k
          }),
762
60.1k
          m_storage(std::addressof(f))
763
60.1k
    {
764
60.1k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
544
        : m_fptr([](storage fn,
753
544
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
544
              cvref<T> obj = *get<T>(fn);
755
544
              if constexpr (std::is_void_v<R>) {
756
544
                  obj(static_cast<decltype(args)>(args)...);
757
544
              }
758
544
              else {
759
544
                  return obj(static_cast<decltype(args)>(args)...);
760
544
              }
761
544
          }),
762
544
          m_storage(std::addressof(f))
763
544
    {
764
544
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
1.32k
        : m_fptr([](storage fn,
753
1.32k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.32k
              cvref<T> obj = *get<T>(fn);
755
1.32k
              if constexpr (std::is_void_v<R>) {
756
1.32k
                  obj(static_cast<decltype(args)>(args)...);
757
1.32k
              }
758
1.32k
              else {
759
1.32k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.32k
              }
761
1.32k
          }),
762
1.32k
          m_storage(std::addressof(f))
763
1.32k
    {
764
1.32k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
434
        : m_fptr([](storage fn,
753
434
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
434
              cvref<T> obj = *get<T>(fn);
755
434
              if constexpr (std::is_void_v<R>) {
756
434
                  obj(static_cast<decltype(args)>(args)...);
757
434
              }
758
434
              else {
759
434
                  return obj(static_cast<decltype(args)>(args)...);
760
434
              }
761
434
          }),
762
434
          m_storage(std::addressof(f))
763
434
    {
764
434
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
111k
        : m_fptr([](storage fn,
753
111k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
111k
              cvref<T> obj = *get<T>(fn);
755
111k
              if constexpr (std::is_void_v<R>) {
756
111k
                  obj(static_cast<decltype(args)>(args)...);
757
111k
              }
758
111k
              else {
759
111k
                  return obj(static_cast<decltype(args)>(args)...);
760
111k
              }
761
111k
          }),
762
111k
          m_storage(std::addressof(f))
763
111k
    {
764
111k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
26
        : m_fptr([](storage fn,
753
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
26
              cvref<T> obj = *get<T>(fn);
755
26
              if constexpr (std::is_void_v<R>) {
756
26
                  obj(static_cast<decltype(args)>(args)...);
757
26
              }
758
26
              else {
759
26
                  return obj(static_cast<decltype(args)>(args)...);
760
26
              }
761
26
          }),
762
26
          m_storage(std::addressof(f))
763
26
    {
764
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
192
        : m_fptr([](storage fn,
753
192
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
192
              cvref<T> obj = *get<T>(fn);
755
192
              if constexpr (std::is_void_v<R>) {
756
192
                  obj(static_cast<decltype(args)>(args)...);
757
192
              }
758
192
              else {
759
192
                  return obj(static_cast<decltype(args)>(args)...);
760
192
              }
761
192
          }),
762
192
          m_storage(std::addressof(f))
763
192
    {
764
192
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
24
        : m_fptr([](storage fn,
753
24
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
24
              cvref<T> obj = *get<T>(fn);
755
24
              if constexpr (std::is_void_v<R>) {
756
24
                  obj(static_cast<decltype(args)>(args)...);
757
24
              }
758
24
              else {
759
24
                  return obj(static_cast<decltype(args)>(args)...);
760
24
              }
761
24
          }),
762
24
          m_storage(std::addressof(f))
763
24
    {
764
24
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
180
        : m_fptr([](storage fn,
753
180
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
180
              cvref<T> obj = *get<T>(fn);
755
180
              if constexpr (std::is_void_v<R>) {
756
180
                  obj(static_cast<decltype(args)>(args)...);
757
180
              }
758
180
              else {
759
180
                  return obj(static_cast<decltype(args)>(args)...);
760
180
              }
761
180
          }),
762
180
          m_storage(std::addressof(f))
763
180
    {
764
180
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
430
        : m_fptr([](storage fn,
753
430
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
430
              cvref<T> obj = *get<T>(fn);
755
430
              if constexpr (std::is_void_v<R>) {
756
430
                  obj(static_cast<decltype(args)>(args)...);
757
430
              }
758
430
              else {
759
430
                  return obj(static_cast<decltype(args)>(args)...);
760
430
              }
761
430
          }),
762
430
          m_storage(std::addressof(f))
763
430
    {
764
430
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
474
        : m_fptr([](storage fn,
753
474
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
474
              cvref<T> obj = *get<T>(fn);
755
474
              if constexpr (std::is_void_v<R>) {
756
474
                  obj(static_cast<decltype(args)>(args)...);
757
474
              }
758
474
              else {
759
474
                  return obj(static_cast<decltype(args)>(args)...);
760
474
              }
761
474
          }),
762
474
          m_storage(std::addressof(f))
763
474
    {
764
474
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
342
        : m_fptr([](storage fn,
753
342
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
342
              cvref<T> obj = *get<T>(fn);
755
342
              if constexpr (std::is_void_v<R>) {
756
342
                  obj(static_cast<decltype(args)>(args)...);
757
342
              }
758
342
              else {
759
342
                  return obj(static_cast<decltype(args)>(args)...);
760
342
              }
761
342
          }),
762
342
          m_storage(std::addressof(f))
763
342
    {
764
342
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
186
        : m_fptr([](storage fn,
753
186
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
186
              cvref<T> obj = *get<T>(fn);
755
186
              if constexpr (std::is_void_v<R>) {
756
186
                  obj(static_cast<decltype(args)>(args)...);
757
186
              }
758
186
              else {
759
186
                  return obj(static_cast<decltype(args)>(args)...);
760
186
              }
761
186
          }),
762
186
          m_storage(std::addressof(f))
763
186
    {
764
186
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
19.2k
        : m_fptr([](storage fn,
753
19.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
19.2k
              cvref<T> obj = *get<T>(fn);
755
19.2k
              if constexpr (std::is_void_v<R>) {
756
19.2k
                  obj(static_cast<decltype(args)>(args)...);
757
19.2k
              }
758
19.2k
              else {
759
19.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
19.2k
              }
761
19.2k
          }),
762
19.2k
          m_storage(std::addressof(f))
763
19.2k
    {
764
19.2k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
402
        : m_fptr([](storage fn,
753
402
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
402
              cvref<T> obj = *get<T>(fn);
755
402
              if constexpr (std::is_void_v<R>) {
756
402
                  obj(static_cast<decltype(args)>(args)...);
757
402
              }
758
402
              else {
759
402
                  return obj(static_cast<decltype(args)>(args)...);
760
402
              }
761
402
          }),
762
402
          m_storage(std::addressof(f))
763
402
    {
764
402
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
180
        : m_fptr([](storage fn,
753
180
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
180
              cvref<T> obj = *get<T>(fn);
755
180
              if constexpr (std::is_void_v<R>) {
756
180
                  obj(static_cast<decltype(args)>(args)...);
757
180
              }
758
180
              else {
759
180
                  return obj(static_cast<decltype(args)>(args)...);
760
180
              }
761
180
          }),
762
180
          m_storage(std::addressof(f))
763
180
    {
764
180
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
68
        : m_fptr([](storage fn,
753
68
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
68
              cvref<T> obj = *get<T>(fn);
755
68
              if constexpr (std::is_void_v<R>) {
756
68
                  obj(static_cast<decltype(args)>(args)...);
757
68
              }
758
68
              else {
759
68
                  return obj(static_cast<decltype(args)>(args)...);
760
68
              }
761
68
          }),
762
68
          m_storage(std::addressof(f))
763
68
    {
764
68
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
628
        : m_fptr([](storage fn,
753
628
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
628
              cvref<T> obj = *get<T>(fn);
755
628
              if constexpr (std::is_void_v<R>) {
756
628
                  obj(static_cast<decltype(args)>(args)...);
757
628
              }
758
628
              else {
759
628
                  return obj(static_cast<decltype(args)>(args)...);
760
628
              }
761
628
          }),
762
628
          m_storage(std::addressof(f))
763
628
    {
764
628
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
492
        : m_fptr([](storage fn,
753
492
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
492
              cvref<T> obj = *get<T>(fn);
755
492
              if constexpr (std::is_void_v<R>) {
756
492
                  obj(static_cast<decltype(args)>(args)...);
757
492
              }
758
492
              else {
759
492
                  return obj(static_cast<decltype(args)>(args)...);
760
492
              }
761
492
          }),
762
492
          m_storage(std::addressof(f))
763
492
    {
764
492
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.20k
        : m_fptr([](storage fn,
753
2.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.20k
              cvref<T> obj = *get<T>(fn);
755
2.20k
              if constexpr (std::is_void_v<R>) {
756
2.20k
                  obj(static_cast<decltype(args)>(args)...);
757
2.20k
              }
758
2.20k
              else {
759
2.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.20k
              }
761
2.20k
          }),
762
2.20k
          m_storage(std::addressof(f))
763
2.20k
    {
764
2.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6.04k
        : m_fptr([](storage fn,
753
6.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.04k
              cvref<T> obj = *get<T>(fn);
755
6.04k
              if constexpr (std::is_void_v<R>) {
756
6.04k
                  obj(static_cast<decltype(args)>(args)...);
757
6.04k
              }
758
6.04k
              else {
759
6.04k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.04k
              }
761
6.04k
          }),
762
6.04k
          m_storage(std::addressof(f))
763
6.04k
    {
764
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
494
        : m_fptr([](storage fn,
753
494
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
494
              cvref<T> obj = *get<T>(fn);
755
494
              if constexpr (std::is_void_v<R>) {
756
494
                  obj(static_cast<decltype(args)>(args)...);
757
494
              }
758
494
              else {
759
494
                  return obj(static_cast<decltype(args)>(args)...);
760
494
              }
761
494
          }),
762
494
          m_storage(std::addressof(f))
763
494
    {
764
494
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
1.26k
        : m_fptr([](storage fn,
753
1.26k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.26k
              cvref<T> obj = *get<T>(fn);
755
1.26k
              if constexpr (std::is_void_v<R>) {
756
1.26k
                  obj(static_cast<decltype(args)>(args)...);
757
1.26k
              }
758
1.26k
              else {
759
1.26k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.26k
              }
761
1.26k
          }),
762
1.26k
          m_storage(std::addressof(f))
763
1.26k
    {
764
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
765
766
    template <typename T,
767
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
768
                               !std::is_pointer_v<T>>* = nullptr>
769
    function_ref& operator=(T) = delete;
770
771
    constexpr R operator()(Args... args) const noexcept(noex)
772
1.26M
    {
773
1.26M
        return m_fptr(m_storage, SCN_FWD(args)...);
774
1.26M
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
772
20.5k
    {
773
20.5k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
20.5k
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
1.16M
    {
773
1.16M
        return m_fptr(m_storage, SCN_FWD(args)...);
774
1.16M
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
57.8k
    {
773
57.8k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
57.8k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
360
    {
773
360
        return m_fptr(m_storage, SCN_FWD(args)...);
774
360
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
922
    {
773
922
        return m_fptr(m_storage, SCN_FWD(args)...);
774
922
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
772
13.8k
    {
773
13.8k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
13.8k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
196
    {
773
196
        return m_fptr(m_storage, SCN_FWD(args)...);
774
196
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
6.49k
    {
773
6.49k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
6.49k
    }
775
776
private:
777
    fwd_t* m_fptr{nullptr};
778
    storage m_storage;
779
};
780
781
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
782
function_ref(F*) -> function_ref<F>;
783
}  // namespace impl
784
785
/////////////////////////////////////////////////////////////////
786
// Internal error types
787
/////////////////////////////////////////////////////////////////
788
789
namespace impl {
790
enum class eof_error { good, eof };
791
792
inline constexpr bool operator!(eof_error e)
793
199k
{
794
199k
    return e != eof_error::good;
795
199k
}
796
797
template <typename T>
798
struct eof_expected : public expected<T, eof_error> {
799
    using base = expected<T, eof_error>;
800
    using base::base;
801
802
    constexpr eof_expected(const base& other) : base(other) {}
803
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
804
};
805
806
inline constexpr auto make_eof_scan_error(eof_error err)
807
354
{
808
354
    SCN_EXPECT(err == eof_error::eof);
809
354
    return scan_error{scan_error::end_of_input, "EOF"};
810
354
}
811
812
struct SCN_TRIVIAL_ABI parse_error {
813
    enum code { good, eof, error };
814
    using code_t = code;
815
816
    constexpr parse_error() = default;
817
160k
    constexpr parse_error(code c) : m_code(c)
818
160k
    {
819
160k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
820
160k
    }
821
822
    constexpr explicit operator bool() const
823
0
    {
824
0
        return m_code == good;
825
0
    }
826
    constexpr explicit operator code_t() const
827
0
    {
828
0
        return m_code;
829
0
    }
830
831
    friend constexpr bool operator==(parse_error a, parse_error b)
832
62.0k
    {
833
62.0k
        return a.m_code == b.m_code;
834
62.0k
    }
835
    friend constexpr bool operator!=(parse_error a, parse_error b)
836
10.0k
    {
837
10.0k
        return !(a == b);
838
10.0k
    }
839
840
private:
841
    code m_code{good};
842
};
843
844
template <typename T>
845
struct parse_expected : public expected<T, parse_error> {
846
    using base = expected<T, parse_error>;
847
    using base::base;
848
849
    constexpr parse_expected(const base& other) : base(other) {}
850
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
851
};
852
853
inline constexpr parse_error make_eof_parse_error(eof_error err)
854
1.11k
{
855
1.11k
    SCN_EXPECT(err == eof_error::eof);
856
1.11k
    return parse_error::eof;
857
1.11k
}
858
859
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
860
    parse_error err,
861
    enum scan_error::code code,
862
    const char* msg)
863
10.0k
{
864
10.0k
    if (err == parse_error::good) {
865
0
        return {};
866
0
    }
867
868
10.0k
    if (err == parse_error::eof) {
869
146
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
870
146
    }
871
872
9.92k
    return detail::unexpected_scan_error(code, msg);
873
10.0k
}
874
875
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
876
                                                    const char* msg)
877
10.1k
{
878
10.1k
    return [code, msg](parse_error err) {
879
10.0k
        assert(err != parse_error::good);
880
10.0k
        return make_scan_error_from_parse_error(err, code, msg).error();
881
10.0k
    };
882
10.1k
}
883
}  // namespace impl
884
885
namespace detail {
886
template <typename T>
887
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
888
}  // namespace detail
889
890
/////////////////////////////////////////////////////////////////
891
// Range reading support
892
/////////////////////////////////////////////////////////////////
893
894
namespace impl {
895
#if SCN_MSVC_DEBUG_ITERATORS
896
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
897
#else
898
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
899
#endif
900
901
template <typename T>
902
constexpr bool range_supports_nocopy() noexcept
903
{
904
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
905
    return ranges::contiguous_range<T> ||
906
           (ranges::random_access_range<T> &&
907
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
908
#else
909
    return ranges::contiguous_range<T>;
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_data(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return detail::to_address(ranges::begin(r));
919
#else
920
    return ranges::data(r);
921
#endif
922
}
923
924
template <typename R>
925
constexpr auto range_nocopy_size(const R& r) noexcept
926
{
927
    static_assert(range_supports_nocopy<R>());
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
930
                                                detail::to_address(r.end())));
931
#else
932
    return r.size();
933
#endif
934
}
935
936
template <typename I, typename S>
937
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
938
206M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
206M
    {
948
206M
        return begin == end;
949
206M
    }
950
206M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
938
28.5k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
28.5k
    {
948
28.5k
        return begin == end;
949
28.5k
    }
950
28.5k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
938
355k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
355k
    {
948
355k
        return begin == end;
949
355k
    }
950
355k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
938
205M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
205M
    {
948
205M
        return begin == end;
949
205M
    }
950
205M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
938
13.7k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
13.7k
    {
948
13.7k
        return begin == end;
949
13.7k
    }
950
13.7k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
938
5.61k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
5.61k
    {
948
5.61k
        return begin == end;
949
5.61k
    }
950
5.61k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
938
2.85k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
2.85k
    {
948
2.85k
        return begin == end;
949
2.85k
    }
950
2.85k
}
951
952
template <typename Range>
953
SCN_NODISCARD constexpr bool is_range_eof(Range r)
954
836k
{
955
836k
    return is_range_eof(r.begin(), r.end());
956
836k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
954
2.43k
{
955
2.43k
    return is_range_eof(r.begin(), r.end());
956
2.43k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
954
26.0k
{
955
26.0k
    return is_range_eof(r.begin(), r.end());
956
26.0k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
954
308k
{
955
308k
    return is_range_eof(r.begin(), r.end());
956
308k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
954
476k
{
955
476k
    return is_range_eof(r.begin(), r.end());
956
476k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
954
1.36k
{
955
1.36k
    return is_range_eof(r.begin(), r.end());
956
1.36k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
954
12.4k
{
955
12.4k
    return is_range_eof(r.begin(), r.end());
956
12.4k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
954
5.61k
{
955
5.61k
    return is_range_eof(r.begin(), r.end());
956
5.61k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
954
2.85k
{
955
2.85k
    return is_range_eof(r.begin(), r.end());
956
2.85k
}
957
958
template <typename Range>
959
SCN_NODISCARD constexpr eof_error eof_check(Range range)
960
199k
{
961
199k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
368
        return eof_error::eof;
963
368
    }
964
198k
    return eof_error::good;
965
199k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
960
2.43k
{
961
2.43k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
2.43k
    return eof_error::good;
965
2.43k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
960
40
{
961
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
40
    return eof_error::good;
965
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
960
21.5k
{
961
21.5k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
21.5k
    return eof_error::good;
965
21.5k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
960
170k
{
961
170k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
170k
    return eof_error::good;
965
170k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
960
1.36k
{
961
1.36k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
1.36k
    return eof_error::good;
965
1.36k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
960
110
{
961
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
14
        return eof_error::eof;
963
14
    }
964
96
    return eof_error::good;
965
110
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
960
2.20k
{
961
2.20k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
238
        return eof_error::eof;
963
238
    }
964
1.96k
    return eof_error::good;
965
2.20k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
960
1.26k
{
961
1.26k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
116
        return eof_error::eof;
963
116
    }
964
1.15k
    return eof_error::good;
965
1.26k
}
966
967
template <typename Range>
968
bool is_entire_source_contiguous(Range r)
969
486
{
970
486
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
324
                  ranges::sized_range<Range>) {
973
324
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
0
                               detail::char_t<Range>>::forward_iterator>) {
979
0
        auto beg = r.begin();
980
0
        if (!beg.stores_parent()) {
981
0
            return true;
982
0
        }
983
0
        return beg.parent()->is_contiguous();
984
    }
985
162
    else {
986
162
        return false;
987
162
    }
988
486
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
969
162
{
970
162
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
                  ranges::sized_range<Range>) {
973
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
162
    else {
986
162
        return false;
987
162
    }
988
162
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
969
324
{
970
324
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
324
                  ranges::sized_range<Range>) {
973
324
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
    else {
986
        return false;
987
    }
988
324
}
989
990
template <typename Range>
991
bool is_segment_contiguous(Range r)
992
324
{
993
324
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
324
                  ranges::sized_range<Range>) {
997
324
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
0
                               detail::char_t<Range>>::forward_iterator>) {
1003
0
        auto beg = r.begin();
1004
0
        if (beg.contiguous_segment().empty()) {
1005
0
            return false;
1006
0
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
0
        else {
1012
0
            if (beg.stores_parent()) {
1013
0
                return beg.contiguous_segment().end() ==
1014
0
                       beg.parent()->current_view().end();
1015
0
            }
1016
0
            return true;
1017
0
        }
1018
    }
1019
0
    else {
1020
0
        return false;
1021
0
    }
1022
324
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
992
324
{
993
324
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
324
                  ranges::sized_range<Range>) {
997
324
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
                               detail::char_t<Range>>::forward_iterator>) {
1003
        auto beg = r.begin();
1004
        if (beg.contiguous_segment().empty()) {
1005
            return false;
1006
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
        else {
1012
            if (beg.stores_parent()) {
1013
                return beg.contiguous_segment().end() ==
1014
                       beg.parent()->current_view().end();
1015
            }
1016
            return true;
1017
        }
1018
    }
1019
    else {
1020
        return false;
1021
    }
1022
324
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1023
1024
template <typename Range>
1025
std::size_t contiguous_beginning_size(Range r)
1026
{
1027
    SCN_UNUSED(r);
1028
1029
    if constexpr (ranges::contiguous_range<Range> &&
1030
                  ranges::sized_range<Range>) {
1031
        return r.size();
1032
    }
1033
    else if constexpr (std::is_same_v<
1034
                           ranges::const_iterator_t<Range>,
1035
                           typename detail::basic_scan_buffer<
1036
                               detail::char_t<Range>>::forward_iterator>) {
1037
        if constexpr (ranges::common_range<Range>) {
1038
            auto seg = r.begin().contiguous_segment();
1039
            auto dist =
1040
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1041
            return std::min(seg.size(), dist);
1042
        }
1043
        else {
1044
            return r.begin().contiguous_segment().size();
1045
        }
1046
    }
1047
    else {
1048
        return false;
1049
    }
1050
}
1051
1052
template <typename Range>
1053
auto get_contiguous_beginning(Range r)
1054
3.71k
{
1055
3.71k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
0
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
0
        else {
1072
0
            return r.begin().contiguous_segment();
1073
0
        }
1074
    }
1075
3.71k
    else {
1076
3.71k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
3.71k
    }
1078
3.71k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1054
1.51k
{
1055
1.51k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
1.51k
    else {
1076
1.51k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
1.51k
    }
1078
1.51k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1054
2.20k
{
1055
2.20k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
2.20k
    else {
1076
2.20k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
2.20k
    }
1078
2.20k
}
1079
1080
template <typename Range>
1081
auto get_as_contiguous(Range r)
1082
324
{
1083
324
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
324
                  ranges::sized_range<Range>) {
1087
324
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
0
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
0
        else {
1099
0
            return r.begin().contiguous_segment();
1100
0
        }
1101
    }
1102
0
    else {
1103
0
        SCN_EXPECT(false);
1104
0
        SCN_UNREACHABLE;
1105
0
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
0
        return std::basic_string_view<detail::char_t<Range>>{};
1108
0
    }
1109
324
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1082
324
{
1083
324
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
324
                  ranges::sized_range<Range>) {
1087
324
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
        else {
1099
            return r.begin().contiguous_segment();
1100
        }
1101
    }
1102
    else {
1103
        SCN_EXPECT(false);
1104
        SCN_UNREACHABLE;
1105
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
        return std::basic_string_view<detail::char_t<Range>>{};
1108
    }
1109
324
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1110
1111
template <typename Range>
1112
std::size_t guaranteed_minimum_size(Range r)
1113
10.5k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
0
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
0
        else {
1125
0
            if (r.begin().stores_parent()) {
1126
0
                return static_cast<size_t>(
1127
0
                    r.begin().parent()->chars_available() -
1128
0
                    r.begin().position());
1129
0
            }
1130
0
            return r.begin().contiguous_segment().size();
1131
0
        }
1132
    }
1133
10.5k
    else {
1134
10.5k
        SCN_UNUSED(r);
1135
10.5k
        return 0;
1136
10.5k
    }
1137
10.5k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1113
7.08k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
7.08k
    else {
1134
7.08k
        SCN_UNUSED(r);
1135
7.08k
        return 0;
1136
7.08k
    }
1137
7.08k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1113
916
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
916
    else {
1134
916
        SCN_UNUSED(r);
1135
916
        return 0;
1136
916
    }
1137
916
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1113
1.30k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
1.30k
    else {
1134
1.30k
        SCN_UNUSED(r);
1135
1.30k
        return 0;
1136
1.30k
    }
1137
1.30k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1113
860
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
860
    else {
1134
860
        SCN_UNUSED(r);
1135
860
        return 0;
1136
860
    }
1137
860
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1113
388
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
388
    else {
1134
388
        SCN_UNUSED(r);
1135
388
        return 0;
1136
388
    }
1137
388
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1138
1139
template <typename I, typename T>
1140
struct iterator_value_result {
1141
    SCN_NO_UNIQUE_ADDRESS I iterator;
1142
    SCN_NO_UNIQUE_ADDRESS T value;
1143
};
1144
1145
}  // namespace impl
1146
1147
/////////////////////////////////////////////////////////////////
1148
// File support
1149
/////////////////////////////////////////////////////////////////
1150
1151
namespace detail {
1152
1153
template <typename FileInterface>
1154
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1155
    FileInterface file)
1156
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1157
0
{
1158
0
    m_file.lock();
1159
0
}
1160
1161
template <typename FileInterface>
1162
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1163
0
{
1164
0
    m_file.unlock();
1165
0
}
1166
1167
template <typename FileInterface>
1168
bool basic_scan_file_buffer<FileInterface>::fill()
1169
0
{
1170
0
    if (!this->m_current_view.empty()) {
1171
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1172
0
                                      this->m_current_view.begin(),
1173
0
                                      this->m_current_view.end());
1174
0
    }
1175
1176
0
    if (m_file.has_buffering()) {
1177
0
        if (!this->m_current_view.empty()) {
1178
0
            m_file.unsafe_advance_n(
1179
0
                static_cast<std::ptrdiff_t>(this->m_current_view.size()));
1180
0
        }
1181
1182
0
        if (m_file.buffer().empty()) {
1183
0
            m_file.fill_buffer();
1184
0
        }
1185
0
        m_current_view = m_file.buffer();
1186
0
        return !this->m_current_view.empty();
1187
0
    }
1188
1189
0
    this->m_latest = m_file.read_one();
1190
0
    if (!this->m_latest) {
1191
0
        this->m_current_view = {};
1192
0
        return false;
1193
0
    }
1194
1195
0
    this->m_current_view = {&*this->m_latest, 1};
1196
0
    return true;
1197
0
}
1198
1199
template <typename FileInterface>
1200
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1201
0
{
1202
0
    struct putback_wrapper {
1203
0
        putback_wrapper(FileInterface& interface) : i(interface)
1204
0
        {
1205
0
            i.prepare_putback();
1206
0
        }
1207
0
        ~putback_wrapper()
1208
0
        {
1209
0
            i.finalize_putback();
1210
0
        }
1211
1212
0
        FileInterface& i;
1213
0
    };
1214
1215
0
    if (m_file.has_buffering()) {
1216
0
        if (position <
1217
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1218
0
            putback_wrapper wrapper{m_file};
1219
0
            auto segment = this->get_segment_starting_at(position);
1220
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1221
0
                if (!m_file.putback(*it)) {
1222
0
                    return false;
1223
0
                }
1224
0
            }
1225
0
            return true;
1226
0
        }
1227
1228
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1229
0
                                               this->putback_buffer().size()));
1230
0
        return true;
1231
0
    }
1232
1233
0
    const auto chars_avail = this->chars_available();
1234
0
    if (position == chars_avail) {
1235
0
        return true;
1236
0
    }
1237
1238
0
    putback_wrapper wrapper{m_file};
1239
0
    SCN_EXPECT(m_current_view.size() == 1);
1240
0
    (void)m_file.putback(m_current_view.front());
1241
1242
0
    auto segment = std::string_view{this->putback_buffer().data(),
1243
0
                                    this->putback_buffer().size()}
1244
0
                       .substr(static_cast<std::size_t>(position));
1245
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1246
0
        if (!m_file.putback(*it)) {
1247
0
            return false;
1248
0
        }
1249
0
    }
1250
0
    return true;
1251
0
}
1252
1253
}  // namespace detail
1254
1255
/////////////////////////////////////////////////////////////////
1256
// Unicode
1257
/////////////////////////////////////////////////////////////////
1258
1259
namespace impl {
1260
1261
template <typename CharT>
1262
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1263
36.1k
{
1264
36.1k
    auto it = src.begin();
1265
570k
    while (it != src.end()) {
1266
536k
        const auto len = static_cast<std::ptrdiff_t>(
1267
536k
            detail::code_point_length_by_starting_code_unit(*it));
1268
536k
        SCN_EXPECT(len >= 0);
1269
536k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
535k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
535k
        const auto cp = detail::decode_code_point_exhaustive(
1276
535k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
535k
        if (cp >= detail::invalid_code_point) {
1278
1.39k
            return false;
1279
1.39k
        }
1280
534k
        it += len;
1281
534k
    }
1282
33.2k
    return true;
1283
36.1k
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1263
8.42k
{
1264
8.42k
    auto it = src.begin();
1265
452k
    while (it != src.end()) {
1266
446k
        const auto len = static_cast<std::ptrdiff_t>(
1267
446k
            detail::code_point_length_by_starting_code_unit(*it));
1268
446k
        SCN_EXPECT(len >= 0);
1269
446k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
445k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
444k
        const auto cp = detail::decode_code_point_exhaustive(
1276
444k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
444k
        if (cp >= detail::invalid_code_point) {
1278
396
            return false;
1279
396
        }
1280
444k
        it += len;
1281
444k
    }
1282
6.49k
    return true;
1283
8.42k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1263
27.7k
{
1264
27.7k
    auto it = src.begin();
1265
117k
    while (it != src.end()) {
1266
90.6k
        const auto len = static_cast<std::ptrdiff_t>(
1267
90.6k
            detail::code_point_length_by_starting_code_unit(*it));
1268
90.6k
        SCN_EXPECT(len >= 0);
1269
90.6k
        if (len == 0) {
1270
0
            return false;
1271
0
        }
1272
90.6k
        if (std::distance(it, src.end()) < len) {
1273
0
            return false;
1274
0
        }
1275
90.6k
        const auto cp = detail::decode_code_point_exhaustive(
1276
90.6k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
90.6k
        if (cp >= detail::invalid_code_point) {
1278
996
            return false;
1279
996
        }
1280
89.6k
        it += len;
1281
89.6k
    }
1282
26.7k
    return true;
1283
27.7k
}
1284
1285
template <typename Range>
1286
constexpr auto get_start_for_next_code_point(Range input)
1287
    -> ranges::const_iterator_t<Range>
1288
9.46k
{
1289
9.46k
    auto it = input.begin();
1290
25.1k
    for (; it != input.end(); ++it) {
1291
23.4k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
7.84k
            break;
1293
7.84k
        }
1294
23.4k
    }
1295
9.46k
    return it;
1296
9.46k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1288
5.69k
{
1289
5.69k
    auto it = input.begin();
1290
20.0k
    for (; it != input.end(); ++it) {
1291
18.6k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
4.31k
            break;
1293
4.31k
        }
1294
18.6k
    }
1295
5.69k
    return it;
1296
5.69k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1288
2.82k
{
1289
2.82k
    auto it = input.begin();
1290
3.66k
    for (; it != input.end(); ++it) {
1291
3.47k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
2.62k
            break;
1293
2.62k
        }
1294
3.47k
    }
1295
2.82k
    return it;
1296
2.82k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1288
954
{
1289
954
    auto it = input.begin();
1290
1.44k
    for (; it != input.end(); ++it) {
1291
1.38k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
900
            break;
1293
900
        }
1294
1.38k
    }
1295
954
    return it;
1296
954
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1297
1298
template <typename CharT>
1299
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1300
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1301
                             char32_t>
1302
205M
{
1303
205M
    SCN_EXPECT(!input.empty());
1304
1305
205M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
205M
    if (SCN_UNLIKELY(len == 0)) {
1307
5.69k
        return {get_start_for_next_code_point(input),
1308
5.69k
                detail::invalid_code_point};
1309
5.69k
    }
1310
205M
    if (SCN_UNLIKELY(len > input.size())) {
1311
999
        return {input.end(), detail::invalid_code_point};
1312
999
    }
1313
1314
205M
    return {input.begin() + len,
1315
205M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
205M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1302
268k
{
1303
268k
    SCN_EXPECT(!input.empty());
1304
1305
268k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
268k
    if (SCN_UNLIKELY(len == 0)) {
1307
5.69k
        return {get_start_for_next_code_point(input),
1308
5.69k
                detail::invalid_code_point};
1309
5.69k
    }
1310
263k
    if (SCN_UNLIKELY(len > input.size())) {
1311
999
        return {input.end(), detail::invalid_code_point};
1312
999
    }
1313
1314
262k
    return {input.begin() + len,
1315
262k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
263k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1302
205M
{
1303
205M
    SCN_EXPECT(!input.empty());
1304
1305
205M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
205M
    if (SCN_UNLIKELY(len == 0)) {
1307
0
        return {get_start_for_next_code_point(input),
1308
0
                detail::invalid_code_point};
1309
0
    }
1310
205M
    if (SCN_UNLIKELY(len > input.size())) {
1311
0
        return {input.end(), detail::invalid_code_point};
1312
0
    }
1313
1314
205M
    return {input.begin() + len,
1315
205M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
205M
}
1317
1318
template <typename CharT>
1319
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1320
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1321
                             char32_t>
1322
107k
{
1323
107k
    SCN_EXPECT(!input.empty());
1324
1325
107k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1326
107k
    SCN_EXPECT(len <= input.size());
1327
1328
107k
    return {input.begin() + static_cast<std::ptrdiff_t>(len),
1329
107k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1330
107k
}
1331
1332
template <typename CharT>
1333
struct is_first_char_space_result {
1334
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1335
    char32_t cp;
1336
    bool is_space;
1337
};
1338
1339
template <typename CharT>
1340
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1341
    -> is_first_char_space_result<CharT>
1342
205M
{
1343
    // TODO: optimize
1344
205M
    SCN_EXPECT(!str.empty());
1345
205M
    auto res = get_next_code_point(str);
1346
205M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
205M
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1342
46.2k
{
1343
    // TODO: optimize
1344
46.2k
    SCN_EXPECT(!str.empty());
1345
46.2k
    auto res = get_next_code_point(str);
1346
46.2k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
46.2k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1342
205M
{
1343
    // TODO: optimize
1344
205M
    SCN_EXPECT(!str.empty());
1345
205M
    auto res = get_next_code_point(str);
1346
205M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
205M
}
1348
1349
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1350
    char32_t cp,
1351
    bool error_on_overflow)
1352
0
{
1353
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1354
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1355
0
        SCN_UNUSED(error_on_overflow);
1356
0
        return static_cast<wchar_t>(cp);
1357
    }
1358
    else {
1359
        if (cp < 0x10000) {
1360
            return static_cast<wchar_t>(cp);
1361
        }
1362
        if (error_on_overflow) {
1363
            return detail::unexpected_scan_error(
1364
                scan_error::value_positive_overflow,
1365
                "Non-BMP code point can't be "
1366
                "narrowed to a single 2-byte "
1367
                "wchar_t code unit");
1368
        }
1369
        // Return the lead surrogate
1370
        return static_cast<wchar_t>(
1371
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1372
    }
1373
0
}
1374
1375
template <typename SourceCharT, typename DestCharT>
1376
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1377
                                   std::basic_string<DestCharT>& dest)
1378
2.78k
{
1379
2.78k
    static_assert(sizeof(DestCharT) == 4);
1380
1381
2.78k
    auto it = src.begin();
1382
143k
    while (it != src.end()) {
1383
140k
        auto res = get_next_code_point(
1384
140k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1385
140k
                                                                 src.end()));
1386
140k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1387
3.19k
            dest.push_back(DestCharT{0xfffd});
1388
3.19k
        }
1389
137k
        else {
1390
137k
            dest.push_back(static_cast<DestCharT>(res.value));
1391
137k
        }
1392
140k
        it = detail::make_string_view_iterator(src, res.iterator);
1393
140k
    }
1394
2.78k
}
1395
template <typename SourceCharT, typename DestCharT>
1396
void transcode_valid_to_string_impl_to32(
1397
    std::basic_string_view<SourceCharT> src,
1398
    std::basic_string<DestCharT>& dest)
1399
1.62k
{
1400
1.62k
    static_assert(sizeof(DestCharT) == 4);
1401
1402
1.62k
    auto it = src.begin();
1403
108k
    while (it != src.end()) {
1404
107k
        auto res = get_next_code_point_valid(
1405
107k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1406
107k
                                                                 src.end()));
1407
107k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1408
107k
        dest.push_back(static_cast<DestCharT>(res.value));
1409
107k
        it = detail::make_string_view_iterator(src, res.iterator);
1410
107k
    }
1411
1.62k
}
1412
1413
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1414
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1415
                                    std::basic_string<DestCharT>& dest)
1416
6.68k
{
1417
6.68k
    static_assert(sizeof(SourceCharT) == 4);
1418
6.68k
    static_assert(sizeof(DestCharT) == 1);
1419
1420
20.9k
    for (auto cp : src) {
1421
20.9k
        const auto u32cp = static_cast<uint32_t>(cp);
1422
20.9k
        if (SCN_UNLIKELY(!VerifiedValid && static_cast<char32_t>(cp) >=
1423
20.9k
                                               detail::invalid_code_point)) {
1424
            // Replacement character
1425
0
            dest.push_back(static_cast<char>(0xef));
1426
0
            dest.push_back(static_cast<char>(0xbf));
1427
0
            dest.push_back(static_cast<char>(0xbd));
1428
0
        }
1429
20.9k
        else if (cp < 128) {
1430
19.4k
            dest.push_back(static_cast<char>(cp));
1431
19.4k
        }
1432
1.54k
        else if (cp < 2048) {
1433
168
            dest.push_back(
1434
168
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1435
168
            dest.push_back(
1436
168
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1437
168
        }
1438
1.37k
        else if (cp < 65536) {
1439
980
            dest.push_back(
1440
980
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1441
980
            dest.push_back(static_cast<char>(
1442
980
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1443
980
            dest.push_back(
1444
980
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1445
980
        }
1446
398
        else {
1447
398
            dest.push_back(
1448
398
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1449
398
            dest.push_back(static_cast<char>(
1450
398
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1451
398
            dest.push_back(static_cast<char>(
1452
398
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1453
398
            dest.push_back(
1454
398
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1455
398
        }
1456
20.9k
    }
1457
6.68k
}
1458
1459
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1460
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1461
                                     std::basic_string<DestCharT>& dest)
1462
{
1463
    static_assert(sizeof(SourceCharT) == 4);
1464
    static_assert(sizeof(DestCharT) == 2);
1465
1466
    for (auto cp : src) {
1467
        const auto u32cp = static_cast<uint32_t>(cp);
1468
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1469
            dest.push_back(char16_t{0xfffd});
1470
        }
1471
        else if (cp < 0x10000) {
1472
            dest.push_back(static_cast<char16_t>(cp));
1473
        }
1474
        else {
1475
            dest.push_back(
1476
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1477
            dest.push_back(
1478
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1479
        }
1480
    }
1481
}
1482
1483
template <typename SourceCharT, typename DestCharT>
1484
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1485
                         std::basic_string<DestCharT>& dest)
1486
2.78k
{
1487
2.78k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1488
1489
2.78k
    if constexpr (sizeof(SourceCharT) == 1) {
1490
        if constexpr (sizeof(DestCharT) == 2) {
1491
            std::u32string tmp;
1492
            transcode_to_string_impl_to32(src, tmp);
1493
            return transcode_to_string_impl_32to16<false>(
1494
                std::u32string_view{tmp}, dest);
1495
        }
1496
2.78k
        else if constexpr (sizeof(DestCharT) == 4) {
1497
2.78k
            return transcode_to_string_impl_to32(src, dest);
1498
2.78k
        }
1499
    }
1500
    else if constexpr (sizeof(SourceCharT) == 2) {
1501
        if constexpr (sizeof(DestCharT) == 1) {
1502
            std::u32string tmp;
1503
            transcode_to_string_impl_to32(src, tmp);
1504
            return transcode_to_string_impl_32to8<false>(
1505
                std::u32string_view{tmp}, dest);
1506
        }
1507
        else if constexpr (sizeof(DestCharT) == 4) {
1508
            return trasncode_to_string_impl_to32(src, dest);
1509
        }
1510
    }
1511
    else if constexpr (sizeof(SourceCharT) == 4) {
1512
        if constexpr (sizeof(DestCharT) == 1) {
1513
            return transcode_to_string_impl_32to8<false>(src, dest);
1514
        }
1515
        else if constexpr (sizeof(DestCharT) == 2) {
1516
            return transcode_to_string_impl_32to16<false>(src, dest);
1517
        }
1518
    }
1519
1520
2.78k
    SCN_EXPECT(false);
1521
2.78k
    SCN_UNREACHABLE;
1522
2.78k
}
1523
template <typename SourceCharT, typename DestCharT>
1524
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1525
                               std::basic_string<DestCharT>& dest)
1526
8.31k
{
1527
8.31k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
8.31k
    SCN_EXPECT(validate_unicode(src));
1530
8.31k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
6.68k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
6.68k
        if constexpr (sizeof(DestCharT) == 1) {
1555
6.68k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
6.68k
    }
1561
1562
8.31k
    SCN_EXPECT(false);
1563
8.31k
    SCN_UNREACHABLE;
1564
8.31k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1526
1.62k
{
1527
1.62k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.62k
    SCN_EXPECT(validate_unicode(src));
1530
1.62k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
        if constexpr (sizeof(DestCharT) == 1) {
1555
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
    }
1561
1562
1.62k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.62k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1526
6.68k
{
1527
6.68k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
6.68k
    SCN_EXPECT(validate_unicode(src));
1530
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
        else if constexpr (sizeof(DestCharT) == 4) {
1539
            return transcode_valid_to_string_impl_to32(src, dest);
1540
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
6.68k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
6.68k
        if constexpr (sizeof(DestCharT) == 1) {
1555
6.68k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
6.68k
    }
1561
1562
6.68k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
6.68k
}
1565
1566
template <typename CharT>
1567
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1568
                                   function_ref<void(char32_t)> cb)
1569
44.6k
{
1570
    // TODO: Could be optimized by being eager
1571
44.6k
    auto it = input.begin();
1572
102k
    while (it != input.end()) {
1573
57.8k
        auto res = get_next_code_point(
1574
57.8k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
57.8k
        cb(res.value);
1576
57.8k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
57.8k
    }
1578
44.6k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
41.2k
{
1570
    // TODO: Could be optimized by being eager
1571
41.2k
    auto it = input.begin();
1572
90.2k
    while (it != input.end()) {
1573
49.0k
        auto res = get_next_code_point(
1574
49.0k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
49.0k
        cb(res.value);
1576
49.0k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
49.0k
    }
1578
41.2k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
3.42k
{
1570
    // TODO: Could be optimized by being eager
1571
3.42k
    auto it = input.begin();
1572
12.2k
    while (it != input.end()) {
1573
8.77k
        auto res = get_next_code_point(
1574
8.77k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
8.77k
        cb(res.value);
1576
8.77k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
8.77k
    }
1578
3.42k
}
1579
1580
template <typename CharT>
1581
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1582
                                         function_ref<void(char32_t)> cb)
1583
{
1584
    auto it = input.begin();
1585
    while (it != input.end()) {
1586
        auto res = get_next_code_point_valid(
1587
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1588
        cb(res.value);
1589
        it = detail::make_string_view_iterator(input, res.iterator);
1590
    }
1591
}
1592
1593
/////////////////////////////////////////////////////////////////
1594
// contiguous_range_factory
1595
/////////////////////////////////////////////////////////////////
1596
1597
template <typename View>
1598
class take_width_view;
1599
1600
template <typename CharT>
1601
struct string_view_wrapper {
1602
    using char_type = CharT;
1603
    using string_type = std::basic_string<CharT>;
1604
    using string_view_type = std::basic_string_view<CharT>;
1605
1606
    constexpr string_view_wrapper() = default;
1607
1608
    template <typename Range,
1609
              std::enable_if_t<ranges::borrowed_range<Range> &&
1610
                               ranges::contiguous_range<Range> &&
1611
                               ranges::sized_range<Range>>* = nullptr>
1612
79.4k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
79.4k
    {
1614
79.4k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
12.0k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
12.0k
    {
1614
12.0k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1612
17.0k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
17.0k
    {
1614
17.0k
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
43.1k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
43.1k
    {
1614
43.1k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1612
7.24k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
7.24k
    {
1614
7.24k
    }
1615
1616
    template <typename Range,
1617
              std::enable_if_t<ranges::borrowed_range<Range> &&
1618
                               ranges::contiguous_range<Range> &&
1619
                               ranges::sized_range<Range>>* = nullptr>
1620
    void assign(Range&& r)
1621
    {
1622
        sv = string_view_type{ranges::data(r), r.size()};
1623
    }
1624
1625
    constexpr auto view() const
1626
118k
    {
1627
118k
        return sv;
1628
118k
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1626
62.9k
    {
1627
62.9k
        return sv;
1628
62.9k
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1626
56.0k
    {
1627
56.0k
        return sv;
1628
56.0k
    }
1629
1630
    constexpr bool stores_allocated_string() const
1631
0
    {
1632
0
        return false;
1633
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1634
1635
    [[noreturn]] string_type get_allocated_string() const
1636
    {
1637
        SCN_EXPECT(false);
1638
        SCN_UNREACHABLE;
1639
    }
1640
1641
    string_view_type sv;
1642
};
1643
1644
template <typename Range>
1645
string_view_wrapper(Range)
1646
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1647
1648
template <typename CharT>
1649
class contiguous_range_factory {
1650
public:
1651
    using char_type = CharT;
1652
    using string_type = std::basic_string<CharT>;
1653
    using string_view_type = std::basic_string_view<CharT>;
1654
1655
15.9k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1655
2.56k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1655
13.3k
    contiguous_range_factory() = default;
1656
1657
    template <typename Range,
1658
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1659
    contiguous_range_factory(Range&& range)
1660
2.97k
    {
1661
2.97k
        emplace_range(SCN_FWD(range));
1662
2.97k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
2.16k
    {
1661
2.16k
        emplace_range(SCN_FWD(range));
1662
2.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
808
    {
1661
808
        emplace_range(SCN_FWD(range));
1662
808
    }
1663
1664
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1665
        : m_storage(std::nullopt), m_view(svw.view())
1666
    {
1667
    }
1668
1669
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1670
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1671
        delete;
1672
1673
    contiguous_range_factory(contiguous_range_factory&& other)
1674
        : m_storage(SCN_MOVE(other.m_storage))
1675
    {
1676
        if (m_storage) {
1677
            m_view = *m_storage;
1678
        }
1679
        else {
1680
            m_view = other.m_view;
1681
        }
1682
    }
1683
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1684
    {
1685
        m_storage = SCN_MOVE(other.m_storage);
1686
        if (m_storage) {
1687
            m_view = *m_storage;
1688
        }
1689
        else {
1690
            m_view = other.m_view;
1691
        }
1692
        return *this;
1693
    }
1694
1695
18.9k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1695
4.73k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1695
14.1k
    ~contiguous_range_factory() = default;
1696
1697
    template <typename Range,
1698
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1699
    void assign(Range&& range)
1700
7.46k
    {
1701
7.46k
        emplace_range(SCN_FWD(range));
1702
7.46k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
900
    {
1701
900
        emplace_range(SCN_FWD(range));
1702
900
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1700
20
    {
1701
20
        emplace_range(SCN_FWD(range));
1702
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
6.47k
    {
1701
6.47k
        emplace_range(SCN_FWD(range));
1702
6.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1700
68
    {
1701
68
        emplace_range(SCN_FWD(range));
1702
68
    }
1703
1704
    string_view_type view() const
1705
18.7k
    {
1706
18.7k
        return m_view;
1707
18.7k
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1705
4.45k
    {
1706
4.45k
        return m_view;
1707
4.45k
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1705
14.3k
    {
1706
14.3k
        return m_view;
1707
14.3k
    }
1708
1709
    constexpr bool stores_allocated_string() const
1710
1.76k
    {
1711
1.76k
        return m_storage.has_value();
1712
1.76k
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1710
964
    {
1711
964
        return m_storage.has_value();
1712
964
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1710
800
    {
1711
800
        return m_storage.has_value();
1712
800
    }
1713
1714
    string_type& get_allocated_string() &
1715
898
    {
1716
898
        SCN_EXPECT(stores_allocated_string());
1717
898
        return *m_storage;
1718
898
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1715
482
    {
1716
482
        SCN_EXPECT(stores_allocated_string());
1717
482
        return *m_storage;
1718
482
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1715
416
    {
1716
416
        SCN_EXPECT(stores_allocated_string());
1717
416
        return *m_storage;
1718
416
    }
1719
    const string_type& get_allocated_string() const&
1720
    {
1721
        SCN_EXPECT(stores_allocated_string());
1722
        return *m_storage;
1723
    }
1724
    string_type&& get_allocated_string() &&
1725
    {
1726
        SCN_EXPECT(stores_allocated_string());
1727
        return *m_storage;
1728
    }
1729
1730
    string_type& make_into_allocated_string()
1731
0
    {
1732
0
        if (stores_allocated_string()) {
1733
0
            return get_allocated_string();
1734
0
        }
1735
1736
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1737
0
        m_view = string_view_type{str.data(), str.size()};
1738
0
        return str;
1739
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1740
1741
private:
1742
    template <typename Range>
1743
    void emplace_range(Range&& range)
1744
10.4k
    {
1745
10.4k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
7.37k
                      ranges::sized_range<Range>) {
1750
7.37k
            m_storage.reset();
1751
7.37k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
68
                                          std::basic_string<CharT>>) {
1755
68
            m_storage.emplace(SCN_FWD(range));
1756
68
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
0
                           ranges::common_range<Range>) {
1762
0
            auto beg_seg = range.begin().contiguous_segment();
1763
0
            auto end_seg = range.end().contiguous_segment();
1764
0
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
0
                             detail::to_address(end_seg.end()))) {
1766
0
                auto& str = m_storage.emplace();
1767
0
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
0
                                                     range.begin().position()));
1769
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
0
                m_view = string_view_type{str.data(), str.size()};
1771
0
                return;
1772
0
            }
1773
1774
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
0
                                                            end_seg.data());
1776
0
            m_storage.reset();
1777
        }
1778
2.99k
        else {
1779
2.99k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.99k
            if constexpr (ranges::common_range<Range>) {
1784
2.99k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.99k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.99k
            m_view = string_view_type{str.data(), str.size()};
1794
2.99k
        }
1795
10.4k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1744
2.16k
    {
1745
2.16k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
2.16k
        else {
1779
2.16k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.16k
            if constexpr (ranges::common_range<Range>) {
1784
2.16k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.16k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.16k
            m_view = string_view_type{str.data(), str.size()};
1794
2.16k
        }
1795
2.16k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1744
900
    {
1745
900
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
900
                      ranges::sized_range<Range>) {
1750
900
            m_storage.reset();
1751
900
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
900
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1744
828
    {
1745
828
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
828
        else {
1779
828
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
828
            if constexpr (ranges::common_range<Range>) {
1784
828
                std::copy(ranges::begin(range), ranges::end(range),
1785
828
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
828
            m_view = string_view_type{str.data(), str.size()};
1794
828
        }
1795
828
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1744
6.47k
    {
1745
6.47k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
6.47k
                      ranges::sized_range<Range>) {
1750
6.47k
            m_storage.reset();
1751
6.47k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
6.47k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1744
68
    {
1745
68
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
68
                                          std::basic_string<CharT>>) {
1755
68
            m_storage.emplace(SCN_FWD(range));
1756
68
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
68
    }
1796
1797
    std::optional<string_type> m_storage{std::nullopt};
1798
    string_view_type m_view{};
1799
};
1800
1801
template <typename Range>
1802
contiguous_range_factory(Range)
1803
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1804
1805
template <typename Range>
1806
auto make_contiguous_buffer(Range&& range)
1807
82.4k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
79.4k
                  ranges::sized_range<Range>) {
1811
79.4k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.97k
    else {
1814
2.97k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.97k
    }
1816
82.4k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1807
2.16k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.16k
    else {
1814
2.16k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.16k
    }
1816
2.16k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1807
12.0k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
12.0k
                  ranges::sized_range<Range>) {
1811
12.0k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
12.0k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1807
17.0k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
17.0k
                  ranges::sized_range<Range>) {
1811
17.0k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
17.0k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1807
808
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
808
    else {
1814
808
        return contiguous_range_factory{SCN_FWD(range)};
1815
808
    }
1816
808
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1807
43.1k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
43.1k
                  ranges::sized_range<Range>) {
1811
43.1k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
43.1k
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1807
7.24k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
7.24k
                  ranges::sized_range<Range>) {
1811
7.24k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
7.24k
}
1817
}  // namespace impl
1818
1819
/////////////////////////////////////////////////////////////////
1820
// locale stuff
1821
/////////////////////////////////////////////////////////////////
1822
1823
#if !SCN_DISABLE_LOCALE
1824
1825
namespace detail {
1826
extern template locale_ref::locale_ref(const std::locale&);
1827
extern template auto locale_ref::get() const -> std::locale;
1828
}  // namespace detail
1829
1830
namespace impl {
1831
template <typename Facet>
1832
const Facet& get_facet(detail::locale_ref loc)
1833
{
1834
    auto stdloc = loc.get<std::locale>();
1835
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1836
    return std::use_facet<Facet>(stdloc);
1837
}
1838
1839
template <typename Facet>
1840
const Facet& get_or_add_facet(std::locale& stdloc)
1841
242
{
1842
242
    if (std::has_facet<Facet>(stdloc)) {
1843
242
        return std::use_facet<Facet>(stdloc);
1844
242
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
242
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1841
84
{
1842
84
    if (std::has_facet<Facet>(stdloc)) {
1843
84
        return std::use_facet<Facet>(stdloc);
1844
84
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
84
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1841
158
{
1842
158
    if (std::has_facet<Facet>(stdloc)) {
1843
158
        return std::use_facet<Facet>(stdloc);
1844
158
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
158
}
1848
1849
class clocale_restorer {
1850
public:
1851
88
    clocale_restorer(int cat) : m_category(cat)
1852
88
    {
1853
88
        const auto loc = std::setlocale(cat, nullptr);
1854
88
        std::strcpy(m_locbuf, loc);
1855
88
    }
1856
    ~clocale_restorer()
1857
88
    {
1858
        // Restore locale to what it was before
1859
88
        std::setlocale(m_category, m_locbuf);
1860
88
    }
1861
1862
    clocale_restorer(const clocale_restorer&) = delete;
1863
    clocale_restorer(clocale_restorer&&) = delete;
1864
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1865
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1866
1867
private:
1868
    // For whatever reason, this cannot be stored in the heap if
1869
    // setlocale hasn't been called before, or msan errors with
1870
    // 'use-of-unitialized-value' when resetting the locale
1871
    // back. POSIX specifies that the content of loc may not be
1872
    // static, so we need to save it ourselves
1873
    char m_locbuf[64] = {0};
1874
1875
    int m_category;
1876
};
1877
1878
class set_clocale_classic_guard {
1879
public:
1880
88
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1881
88
    {
1882
88
        std::setlocale(cat, "C");
1883
88
    }
1884
1885
private:
1886
    clocale_restorer m_restorer;
1887
};
1888
}  // namespace impl
1889
1890
namespace impl {
1891
struct classic_with_thsep_tag {};
1892
1893
template <typename CharT>
1894
struct localized_number_formatting_options {
1895
7.97k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1895
1.28k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1895
6.69k
    localized_number_formatting_options() = default;
1896
1897
    localized_number_formatting_options(classic_with_thsep_tag)
1898
0
    {
1899
0
        grouping = "\3";
1900
0
        thousands_sep = CharT{','};
1901
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1902
1903
    localized_number_formatting_options(detail::locale_ref loc)
1904
194
    {
1905
194
        auto stdloc = loc.get<std::locale>();
1906
194
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
194
        grouping = numpunct.grouping();
1908
194
        thousands_sep =
1909
194
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
194
        decimal_point = numpunct.decimal_point();
1911
194
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
62
    {
1905
62
        auto stdloc = loc.get<std::locale>();
1906
62
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
62
        grouping = numpunct.grouping();
1908
62
        thousands_sep =
1909
62
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
62
        decimal_point = numpunct.decimal_point();
1911
62
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
132
    {
1905
132
        auto stdloc = loc.get<std::locale>();
1906
132
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
132
        grouping = numpunct.grouping();
1908
132
        thousands_sep =
1909
132
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
132
        decimal_point = numpunct.decimal_point();
1911
132
    }
1912
1913
    std::string grouping{};
1914
    CharT thousands_sep{0};
1915
    CharT decimal_point{CharT{'.'}};
1916
};
1917
}  // namespace impl
1918
1919
#else
1920
1921
namespace impl {
1922
struct set_clocale_classic_guard {
1923
    set_clocale_classic_guard(int) {}
1924
};
1925
1926
struct classic_with_thsep_tag {};
1927
1928
template <typename CharT>
1929
struct localized_number_formatting_options {
1930
    localized_number_formatting_options() = default;
1931
1932
    localized_number_formatting_options(classic_with_thsep_tag)
1933
    {
1934
        grouping = "\3";
1935
        thousands_sep = CharT{','};
1936
    }
1937
1938
    std::string grouping{};
1939
    CharT thousands_sep{0};
1940
    CharT decimal_point{CharT{'.'}};
1941
};
1942
}  // namespace impl
1943
1944
#endif  // !SCN_DISABLE_LOCALE
1945
1946
/////////////////////////////////////////////////////////////////
1947
// Range reading algorithms
1948
/////////////////////////////////////////////////////////////////
1949
1950
namespace impl {
1951
1952
std::string_view::iterator find_classic_space_narrow_fast(
1953
    std::string_view source);
1954
1955
std::string_view::iterator find_classic_nonspace_narrow_fast(
1956
    std::string_view source);
1957
1958
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1959
    std::string_view source);
1960
1961
template <typename Range>
1962
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1963
7.63k
{
1964
7.63k
    return ranges::next(range.begin(), range.end());
1965
7.63k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
900
{
1964
900
    return ranges::next(range.begin(), range.end());
1965
900
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
180
{
1964
180
    return ranges::next(range.begin(), range.end());
1965
180
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
6.47k
{
1964
6.47k
    return ranges::next(range.begin(), range.end());
1965
6.47k
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
78
{
1964
78
    return ranges::next(range.begin(), range.end());
1965
78
}
1966
1967
template <typename Range>
1968
auto read_code_unit(Range range)
1969
    -> eof_expected<ranges::const_iterator_t<Range>>
1970
55.7k
{
1971
55.7k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
55.7k
    return ranges::next(range.begin());
1976
55.7k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
2.43k
{
1971
2.43k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
2.43k
    return ranges::next(range.begin());
1976
2.43k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
40
{
1971
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
40
    return ranges::next(range.begin());
1976
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.45k
{
1971
6.45k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.45k
    return ranges::next(range.begin());
1976
6.45k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
1.36k
{
1971
1.36k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
1.36k
    return ranges::next(range.begin());
1976
1.36k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
110
{
1971
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
96
    return ranges::next(range.begin());
1976
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
45.3k
{
1971
45.3k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
45.3k
    return ranges::next(range.begin());
1976
45.3k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1977
1978
template <typename Range>
1979
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1980
    -> eof_expected<ranges::const_iterator_t<Range>>
1981
86.6k
{
1982
86.6k
    SCN_EXPECT(count >= 0);
1983
1984
86.6k
    if constexpr (ranges::sized_range<Range>) {
1985
76.1k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
76.1k
        if (sz < count) {
1987
724
            return unexpected(eof_error::eof);
1988
724
        }
1989
1990
75.3k
        return ranges::next(range.begin(), count);
1991
    }
1992
10.5k
    else {
1993
10.5k
        auto it = range.begin();
1994
10.5k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
40.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
30.6k
            if (it == range.end()) {
2000
1.00k
                return unexpected(eof_error::eof);
2001
1.00k
            }
2002
30.6k
        }
2003
2004
9.54k
        return it;
2005
10.5k
    }
2006
86.6k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
37.1k
{
1982
37.1k
    SCN_EXPECT(count >= 0);
1983
1984
37.1k
    if constexpr (ranges::sized_range<Range>) {
1985
37.1k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
37.1k
        if (sz < count) {
1987
530
            return unexpected(eof_error::eof);
1988
530
        }
1989
1990
36.6k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
37.1k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
7.08k
{
1982
7.08k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
7.08k
    else {
1993
7.08k
        auto it = range.begin();
1994
7.08k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
26.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
19.3k
            if (it == range.end()) {
2000
332
                return unexpected(eof_error::eof);
2001
332
            }
2002
19.3k
        }
2003
2004
6.75k
        return it;
2005
7.08k
    }
2006
7.08k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
38.9k
{
1982
38.9k
    SCN_EXPECT(count >= 0);
1983
1984
38.9k
    if constexpr (ranges::sized_range<Range>) {
1985
38.9k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
38.9k
        if (sz < count) {
1987
194
            return unexpected(eof_error::eof);
1988
194
        }
1989
1990
38.7k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
38.9k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
916
{
1982
916
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
916
    else {
1993
916
        auto it = range.begin();
1994
916
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
2.86k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
2.17k
            if (it == range.end()) {
2000
222
                return unexpected(eof_error::eof);
2001
222
            }
2002
2.17k
        }
2003
2004
694
        return it;
2005
916
    }
2006
916
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1981
1.30k
{
1982
1.30k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
1.30k
    else {
1993
1.30k
        auto it = range.begin();
1994
1.30k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
5.08k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.92k
            if (it == range.end()) {
2000
144
                return unexpected(eof_error::eof);
2001
144
            }
2002
3.92k
        }
2003
2004
1.16k
        return it;
2005
1.30k
    }
2006
1.30k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
860
{
1982
860
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
860
    else {
1993
860
        auto it = range.begin();
1994
860
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
4.26k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.59k
            if (it == range.end()) {
2000
184
                return unexpected(eof_error::eof);
2001
184
            }
2002
3.59k
        }
2003
2004
676
        return it;
2005
860
    }
2006
860
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
388
{
1982
388
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
388
    else {
1993
388
        auto it = range.begin();
1994
388
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
1.81k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
1.55k
            if (it == range.end()) {
2000
126
                return unexpected(eof_error::eof);
2001
126
            }
2002
1.55k
        }
2003
2004
262
        return it;
2005
388
    }
2006
388
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
2007
2008
template <typename Iterator, typename CharT>
2009
struct read_code_point_into_result {
2010
    Iterator iterator;
2011
    std::basic_string<CharT> codepoint;
2012
2013
    bool is_valid() const
2014
636k
    {
2015
636k
        return !codepoint.empty();
2016
636k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
2014
26.0k
    {
2015
26.0k
        return !codepoint.empty();
2016
26.0k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
2014
286k
    {
2015
286k
        return !codepoint.empty();
2016
286k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
2014
12.3k
    {
2015
12.3k
        return !codepoint.empty();
2016
12.3k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
2014
306k
    {
2015
306k
        return !codepoint.empty();
2016
306k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
2014
3.41k
    {
2015
3.41k
        return !codepoint.empty();
2016
3.41k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
2014
1.58k
    {
2015
1.58k
        return !codepoint.empty();
2016
1.58k
    }
2017
};
2018
2019
template <typename Range>
2020
auto read_code_point_into(Range range)
2021
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
2022
                                   detail::char_t<Range>>
2023
636k
{
2024
636k
    SCN_EXPECT(!is_range_eof(range));
2025
636k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
636k
    auto it = range.begin();
2028
636k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
636k
    if (SCN_UNLIKELY(len == 0)) {
2031
3.77k
        ++it;
2032
3.77k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
3.77k
        return {it, {}};
2034
3.77k
    }
2035
2036
633k
    if (len == 1) {
2037
583k
        ++it;
2038
583k
        return {it, string_type(1, *range.begin())};
2039
583k
    }
2040
2041
49.4k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
49.4k
    return {it, string_type{range.begin(), it}};
2043
633k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
26.0k
{
2024
26.0k
    SCN_EXPECT(!is_range_eof(range));
2025
26.0k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
26.0k
    auto it = range.begin();
2028
26.0k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
26.0k
    if (SCN_UNLIKELY(len == 0)) {
2031
2.82k
        ++it;
2032
2.82k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
2.82k
        return {it, {}};
2034
2.82k
    }
2035
2036
23.2k
    if (len == 1) {
2037
19.8k
        ++it;
2038
19.8k
        return {it, string_type(1, *range.begin())};
2039
19.8k
    }
2040
2041
3.34k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
3.34k
    return {it, string_type{range.begin(), it}};
2043
23.2k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
286k
{
2024
286k
    SCN_EXPECT(!is_range_eof(range));
2025
286k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
286k
    auto it = range.begin();
2028
286k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
286k
    if (SCN_UNLIKELY(len == 0)) {
2031
954
        ++it;
2032
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
954
        return {it, {}};
2034
954
    }
2035
2036
285k
    if (len == 1) {
2037
240k
        ++it;
2038
240k
        return {it, string_type(1, *range.begin())};
2039
240k
    }
2040
2041
45.1k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
45.1k
    return {it, string_type{range.begin(), it}};
2043
285k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
306k
{
2024
306k
    SCN_EXPECT(!is_range_eof(range));
2025
306k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
306k
    auto it = range.begin();
2028
306k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
306k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
306k
    if (len == 1) {
2037
306k
        ++it;
2038
306k
        return {it, string_type(1, *range.begin())};
2039
306k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
306k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
12.3k
{
2024
12.3k
    SCN_EXPECT(!is_range_eof(range));
2025
12.3k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
12.3k
    auto it = range.begin();
2028
12.3k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
12.3k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
12.3k
    if (len == 1) {
2037
12.3k
        ++it;
2038
12.3k
        return {it, string_type(1, *range.begin())};
2039
12.3k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
12.3k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
3.41k
{
2024
3.41k
    SCN_EXPECT(!is_range_eof(range));
2025
3.41k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
3.41k
    auto it = range.begin();
2028
3.41k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
3.41k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
3.41k
    if (len == 1) {
2037
2.50k
        ++it;
2038
2.50k
        return {it, string_type(1, *range.begin())};
2039
2.50k
    }
2040
2041
902
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
902
    return {it, string_type{range.begin(), it}};
2043
3.41k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
1.58k
{
2024
1.58k
    SCN_EXPECT(!is_range_eof(range));
2025
1.58k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
1.58k
    auto it = range.begin();
2028
1.58k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
1.58k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
1.58k
    if (len == 1) {
2037
1.58k
        ++it;
2038
1.58k
        return {it, string_type(1, *range.begin())};
2039
1.58k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
1.58k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2044
2045
template <typename Range>
2046
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2047
{
2048
    return read_code_point_into(range).iterator;
2049
}
2050
2051
template <typename Range>
2052
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2053
    -> eof_expected<ranges::const_iterator_t<Range>>
2054
{
2055
    SCN_EXPECT(count >= 0);
2056
2057
    if (count > 0) {
2058
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2059
            return unexpected(e);
2060
        }
2061
    }
2062
2063
    auto it = range.begin();
2064
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2065
        auto rng = ranges::subrange{it, range.end()};
2066
2067
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2068
            return unexpected(e);
2069
        }
2070
2071
        it = read_code_point(rng);
2072
    }
2073
2074
    return it;
2075
}
2076
2077
template <typename Range>
2078
auto read_until_code_unit(Range range,
2079
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2080
    -> ranges::const_iterator_t<Range>
2081
402
{
2082
402
    if constexpr (ranges::common_range<Range>) {
2083
168
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
234
    else {
2086
234
        auto first = range.begin();
2087
5.00k
        for (; first != range.end(); ++first) {
2088
4.78k
            if (*first == cu) {
2089
12
                return first;
2090
12
            }
2091
4.78k
        }
2092
222
        return first;
2093
234
    }
2094
402
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
144
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
144
    else {
2086
144
        auto first = range.begin();
2087
2.89k
        for (; first != range.end(); ++first) {
2088
2.75k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.75k
        }
2092
138
        return first;
2093
144
    }
2094
144
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
72
{
2082
72
    if constexpr (ranges::common_range<Range>) {
2083
72
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
72
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
90
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
90
    else {
2086
90
        auto first = range.begin();
2087
2.11k
        for (; first != range.end(); ++first) {
2088
2.02k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.02k
        }
2092
84
        return first;
2093
90
    }
2094
90
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
96
{
2082
96
    if constexpr (ranges::common_range<Range>) {
2083
96
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
96
}
2095
2096
template <typename Range>
2097
auto read_until_code_unit(Range range,
2098
                          function_ref<bool(detail::char_t<Range>)> pred)
2099
    -> ranges::const_iterator_t<Range>
2100
5.92k
{
2101
5.92k
    if constexpr (ranges::common_range<Range>) {
2102
1.93k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
3.99k
    else {
2105
3.99k
        auto first = range.begin();
2106
13.6k
        for (; first != range.end(); ++first) {
2107
13.2k
            if (pred(*first)) {
2108
3.55k
                return first;
2109
3.55k
            }
2110
13.2k
        }
2111
434
        return first;
2112
3.99k
    }
2113
5.92k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
1.37k
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
1.37k
    else {
2105
1.37k
        auto first = range.begin();
2106
1.37k
        for (; first != range.end(); ++first) {
2107
1.37k
            if (pred(*first)) {
2108
1.37k
                return first;
2109
1.37k
            }
2110
1.37k
        }
2111
0
        return first;
2112
1.37k
    }
2113
1.37k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
610
{
2101
610
    if constexpr (ranges::common_range<Range>) {
2102
610
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
610
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
482
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
482
    else {
2105
482
        auto first = range.begin();
2106
7.76k
        for (; first != range.end(); ++first) {
2107
7.54k
            if (pred(*first)) {
2108
262
                return first;
2109
262
            }
2110
7.54k
        }
2111
220
        return first;
2112
482
    }
2113
482
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
762
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
762
    else {
2105
762
        auto first = range.begin();
2106
822
        for (; first != range.end(); ++first) {
2107
792
            if (pred(*first)) {
2108
732
                return first;
2109
732
            }
2110
792
        }
2111
30
        return first;
2112
762
    }
2113
762
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
1.32k
{
2101
1.32k
    if constexpr (ranges::common_range<Range>) {
2102
1.32k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
1.32k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
384
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
384
    else {
2105
384
        auto first = range.begin();
2106
2.16k
        for (; first != range.end(); ++first) {
2107
2.04k
            if (pred(*first)) {
2108
270
                return first;
2109
270
            }
2110
2.04k
        }
2111
114
        return first;
2112
384
    }
2113
384
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
492
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
492
    else {
2105
492
        auto first = range.begin();
2106
744
        for (; first != range.end(); ++first) {
2107
708
            if (pred(*first)) {
2108
456
                return first;
2109
456
            }
2110
708
        }
2111
36
        return first;
2112
492
    }
2113
492
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
494
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
494
    else {
2105
494
        auto first = range.begin();
2106
792
        for (; first != range.end(); ++first) {
2107
758
            if (pred(*first)) {
2108
460
                return first;
2109
460
            }
2110
758
        }
2111
34
        return first;
2112
494
    }
2113
494
}
2114
2115
template <typename Range>
2116
auto read_while_code_unit(Range range,
2117
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2118
    -> ranges::const_iterator_t<Range>
2119
{
2120
    auto first = range.begin();
2121
    for (; first != range.end(); ++first) {
2122
        if (*first != cu) {
2123
            return first;
2124
        }
2125
    }
2126
    return first;
2127
}
2128
2129
template <typename Range>
2130
auto read_while_code_unit(Range range,
2131
                          function_ref<bool(detail::char_t<Range>)> pred)
2132
    -> ranges::const_iterator_t<Range>
2133
5.47k
{
2134
5.47k
    return read_until_code_unit(range, std::not_fn(pred));
2135
5.47k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
1.37k
{
2134
1.37k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.37k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
514
{
2134
514
    return read_until_code_unit(range, std::not_fn(pred));
2135
514
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
308
{
2134
308
    return read_until_code_unit(range, std::not_fn(pred));
2135
308
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
762
{
2134
762
    return read_until_code_unit(range, std::not_fn(pred));
2135
762
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
1.24k
{
2134
1.24k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.24k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
288
{
2134
288
    return read_until_code_unit(range, std::not_fn(pred));
2135
288
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
492
{
2134
492
    return read_until_code_unit(range, std::not_fn(pred));
2135
492
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
494
{
2134
494
    return read_until_code_unit(range, std::not_fn(pred));
2135
494
}
2136
2137
template <typename Range>
2138
auto read_until1_code_unit(Range range,
2139
                           function_ref<bool(detail::char_t<Range>)> pred)
2140
    -> parse_expected<ranges::const_iterator_t<Range>>
2141
{
2142
    auto it = read_until_code_unit(range, pred);
2143
    if (it == range.begin()) {
2144
        return unexpected(parse_error::error);
2145
    }
2146
    return it;
2147
}
2148
2149
template <typename Range>
2150
auto read_while1_code_unit(Range range,
2151
                           function_ref<bool(detail::char_t<Range>)> pred)
2152
    -> parse_expected<ranges::const_iterator_t<Range>>
2153
2.18k
{
2154
2.18k
    auto it = read_while_code_unit(range, pred);
2155
2.18k
    if (it == range.begin()) {
2156
2.12k
        return unexpected(parse_error::error);
2157
2.12k
    }
2158
64
    return it;
2159
2.18k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
1.37k
{
2154
1.37k
    auto it = read_while_code_unit(range, pred);
2155
1.37k
    if (it == range.begin()) {
2156
1.37k
        return unexpected(parse_error::error);
2157
1.37k
    }
2158
0
    return it;
2159
1.37k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
22
{
2154
22
    auto it = read_while_code_unit(range, pred);
2155
22
    if (it == range.begin()) {
2156
22
        return unexpected(parse_error::error);
2157
22
    }
2158
0
    return it;
2159
22
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
762
{
2154
762
    auto it = read_while_code_unit(range, pred);
2155
762
    if (it == range.begin()) {
2156
702
        return unexpected(parse_error::error);
2157
702
    }
2158
60
    return it;
2159
762
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
24
{
2154
24
    auto it = read_while_code_unit(range, pred);
2155
24
    if (it == range.begin()) {
2156
20
        return unexpected(parse_error::error);
2157
20
    }
2158
4
    return it;
2159
24
}
2160
2161
template <typename Range, typename CodeUnits>
2162
auto read_until_code_units(Range range, const CodeUnits& needle)
2163
    -> ranges::const_iterator_t<Range>
2164
246
{
2165
246
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
246
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
246
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2164
156
{
2165
156
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
    if constexpr (ranges::common_range<Range>) {
2168
        return std::search(range.begin(), range.end(), needle.begin(),
2169
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
156
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2164
90
{
2165
90
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
90
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
    else {
2172
        auto first = range.begin();
2173
        while (true) {
2174
            auto it = first;
2175
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
                if (needle_it == needle.end()) {
2177
                    return first;
2178
                }
2179
                if (it == range.end()) {
2180
                    return it;
2181
                }
2182
                if (*it != *needle_it) {
2183
                    break;
2184
                }
2185
            }
2186
            ++first;
2187
        }
2188
    }
2189
90
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2190
2191
template <typename Range, typename CodeUnits>
2192
auto read_while_code_units(Range range, const CodeUnits& needle)
2193
    -> ranges::const_iterator_t<Range>
2194
1.40k
{
2195
1.40k
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
1.40k
    auto it = range.begin();
2198
2.61k
    while (it != range.end()) {
2199
2.53k
        auto r = read_exactly_n_code_units(
2200
2.53k
            ranges::subrange{it, range.end()},
2201
2.53k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
2.53k
        if (!r) {
2203
220
            return it;
2204
220
        }
2205
2.31k
        static_assert(
2206
2.31k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
2.31k
        if (!std::equal(it, *r, needle.begin())) {
2208
1.10k
            return it;
2209
1.10k
        }
2210
1.20k
        it = *r;
2211
1.20k
    }
2212
80
    SCN_ENSURE(it == range.end());
2213
80
    return it;
2214
80
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2194
316
{
2195
316
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
316
    auto it = range.begin();
2198
596
    while (it != range.end()) {
2199
596
        auto r = read_exactly_n_code_units(
2200
596
            ranges::subrange{it, range.end()},
2201
596
            static_cast<std::ptrdiff_t>(needle.size()));
2202
596
        if (!r) {
2203
6
            return it;
2204
6
        }
2205
590
        static_assert(
2206
590
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
590
        if (!std::equal(it, *r, needle.begin())) {
2208
310
            return it;
2209
310
        }
2210
280
        it = *r;
2211
280
    }
2212
0
    SCN_ENSURE(it == range.end());
2213
0
    return it;
2214
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2194
332
{
2195
332
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
332
    auto it = range.begin();
2198
676
    while (it != range.end()) {
2199
630
        auto r = read_exactly_n_code_units(
2200
630
            ranges::subrange{it, range.end()},
2201
630
            static_cast<std::ptrdiff_t>(needle.size()));
2202
630
        if (!r) {
2203
70
            return it;
2204
70
        }
2205
560
        static_assert(
2206
560
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
560
        if (!std::equal(it, *r, needle.begin())) {
2208
216
            return it;
2209
216
        }
2210
344
        it = *r;
2211
344
    }
2212
46
    SCN_ENSURE(it == range.end());
2213
46
    return it;
2214
46
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2194
756
{
2195
756
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
756
    auto it = range.begin();
2198
1.33k
    while (it != range.end()) {
2199
1.30k
        auto r = read_exactly_n_code_units(
2200
1.30k
            ranges::subrange{it, range.end()},
2201
1.30k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
1.30k
        if (!r) {
2203
144
            return it;
2204
144
        }
2205
1.16k
        static_assert(
2206
1.16k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
1.16k
        if (!std::equal(it, *r, needle.begin())) {
2208
578
            return it;
2209
578
        }
2210
582
        it = *r;
2211
582
    }
2212
34
    SCN_ENSURE(it == range.end());
2213
34
    return it;
2214
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2215
2216
template <typename Range>
2217
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2218
    -> ranges::const_iterator_t<Range>
2219
200k
{
2220
200k
    auto it = range.begin();
2221
646k
    while (it != range.end()) {
2222
636k
        const auto val =
2223
636k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
636k
        if (SCN_LIKELY(val.is_valid())) {
2225
633k
            const auto cp = detail::decode_code_point_exhaustive(
2226
633k
                std::basic_string_view<detail::char_t<Range>>{
2227
633k
                    val.codepoint.data(), val.codepoint.size()});
2228
633k
            if (pred(cp)) {
2229
191k
                return it;
2230
191k
            }
2231
633k
        }
2232
445k
        it = val.iterator;
2233
445k
    }
2234
2235
9.20k
    return it;
2236
200k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
1.02k
{
2220
1.02k
    auto it = range.begin();
2221
14.6k
    while (it != range.end()) {
2222
14.2k
        const auto val =
2223
14.2k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
14.2k
        if (SCN_LIKELY(val.is_valid())) {
2225
12.9k
            const auto cp = detail::decode_code_point_exhaustive(
2226
12.9k
                std::basic_string_view<detail::char_t<Range>>{
2227
12.9k
                    val.codepoint.data(), val.codepoint.size()});
2228
12.9k
            if (pred(cp)) {
2229
630
                return it;
2230
630
            }
2231
12.9k
        }
2232
13.5k
        it = val.iterator;
2233
13.5k
    }
2234
2235
392
    return it;
2236
1.02k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
948
{
2220
948
    auto it = range.begin();
2221
12.5k
    while (it != range.end()) {
2222
11.8k
        const auto val =
2223
11.8k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
11.8k
        if (SCN_LIKELY(val.is_valid())) {
2225
10.2k
            const auto cp = detail::decode_code_point_exhaustive(
2226
10.2k
                std::basic_string_view<detail::char_t<Range>>{
2227
10.2k
                    val.codepoint.data(), val.codepoint.size()});
2228
10.2k
            if (pred(cp)) {
2229
222
                return it;
2230
222
            }
2231
10.2k
        }
2232
11.5k
        it = val.iterator;
2233
11.5k
    }
2234
2235
726
    return it;
2236
948
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
2.32k
{
2220
2.32k
    auto it = range.begin();
2221
286k
    while (it != range.end()) {
2222
286k
        const auto val =
2223
286k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
286k
        if (SCN_LIKELY(val.is_valid())) {
2225
285k
            const auto cp = detail::decode_code_point_exhaustive(
2226
285k
                std::basic_string_view<detail::char_t<Range>>{
2227
285k
                    val.codepoint.data(), val.codepoint.size()});
2228
285k
            if (pred(cp)) {
2229
2.16k
                return it;
2230
2.16k
            }
2231
285k
        }
2232
284k
        it = val.iterator;
2233
284k
    }
2234
2235
162
    return it;
2236
2.32k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2219
60.1k
{
2220
60.1k
    auto it = range.begin();
2221
64.7k
    while (it != range.end()) {
2222
60.8k
        const auto val =
2223
60.8k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
60.8k
        if (SCN_LIKELY(val.is_valid())) {
2225
60.8k
            const auto cp = detail::decode_code_point_exhaustive(
2226
60.8k
                std::basic_string_view<detail::char_t<Range>>{
2227
60.8k
                    val.codepoint.data(), val.codepoint.size()});
2228
60.8k
            if (pred(cp)) {
2229
56.1k
                return it;
2230
56.1k
            }
2231
60.8k
        }
2232
4.61k
        it = val.iterator;
2233
4.61k
    }
2234
2235
3.92k
    return it;
2236
60.1k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
776
{
2220
776
    auto it = range.begin();
2221
4.96k
    while (it != range.end()) {
2222
4.79k
        const auto val =
2223
4.79k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
4.79k
        if (SCN_LIKELY(val.is_valid())) {
2225
4.79k
            const auto cp = detail::decode_code_point_exhaustive(
2226
4.79k
                std::basic_string_view<detail::char_t<Range>>{
2227
4.79k
                    val.codepoint.data(), val.codepoint.size()});
2228
4.79k
            if (pred(cp)) {
2229
608
                return it;
2230
608
            }
2231
4.79k
        }
2232
4.18k
        it = val.iterator;
2233
4.18k
    }
2234
2235
168
    return it;
2236
776
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
131k
{
2220
131k
    auto it = range.begin();
2221
249k
    while (it != range.end()) {
2222
245k
        const auto val =
2223
245k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
245k
        if (SCN_LIKELY(val.is_valid())) {
2225
245k
            const auto cp = detail::decode_code_point_exhaustive(
2226
245k
                std::basic_string_view<detail::char_t<Range>>{
2227
245k
                    val.codepoint.data(), val.codepoint.size()});
2228
245k
            if (pred(cp)) {
2229
128k
                return it;
2230
128k
            }
2231
245k
        }
2232
117k
        it = val.iterator;
2233
117k
    }
2234
2235
3.08k
    return it;
2236
131k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
474
{
2220
474
    auto it = range.begin();
2221
7.92k
    while (it != range.end()) {
2222
7.53k
        const auto val =
2223
7.53k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
7.53k
        if (SCN_LIKELY(val.is_valid())) {
2225
7.53k
            const auto cp = detail::decode_code_point_exhaustive(
2226
7.53k
                std::basic_string_view<detail::char_t<Range>>{
2227
7.53k
                    val.codepoint.data(), val.codepoint.size()});
2228
7.53k
            if (pred(cp)) {
2229
84
                return it;
2230
84
            }
2231
7.53k
        }
2232
7.44k
        it = val.iterator;
2233
7.44k
    }
2234
2235
390
    return it;
2236
474
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
2.20k
{
2220
2.20k
    auto it = range.begin();
2221
3.64k
    while (it != range.end()) {
2222
3.41k
        const auto val =
2223
3.41k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
3.41k
        if (SCN_LIKELY(val.is_valid())) {
2225
3.41k
            const auto cp = detail::decode_code_point_exhaustive(
2226
3.41k
                std::basic_string_view<detail::char_t<Range>>{
2227
3.41k
                    val.codepoint.data(), val.codepoint.size()});
2228
3.41k
            if (pred(cp)) {
2229
1.96k
                return it;
2230
1.96k
            }
2231
3.41k
        }
2232
1.44k
        it = val.iterator;
2233
1.44k
    }
2234
2235
238
    return it;
2236
2.20k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
1.26k
{
2220
1.26k
    auto it = range.begin();
2221
1.70k
    while (it != range.end()) {
2222
1.58k
        const auto val =
2223
1.58k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
1.58k
        if (SCN_LIKELY(val.is_valid())) {
2225
1.58k
            const auto cp = detail::decode_code_point_exhaustive(
2226
1.58k
                std::basic_string_view<detail::char_t<Range>>{
2227
1.58k
                    val.codepoint.data(), val.codepoint.size()});
2228
1.58k
            if (pred(cp)) {
2229
1.15k
                return it;
2230
1.15k
            }
2231
1.58k
        }
2232
438
        it = val.iterator;
2233
438
    }
2234
2235
116
    return it;
2236
1.26k
}
2237
2238
template <typename Range>
2239
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2240
    -> ranges::const_iterator_t<Range>
2241
178k
{
2242
178k
    return read_until_code_point(range, std::not_fn(pred));
2243
178k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
800
{
2242
800
    return read_until_code_point(range, std::not_fn(pred));
2243
800
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
2.11k
{
2242
2.11k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.11k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2241
60.1k
{
2242
60.1k
    return read_until_code_point(range, std::not_fn(pred));
2243
60.1k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
584
{
2242
584
    return read_until_code_point(range, std::not_fn(pred));
2243
584
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
111k
{
2242
111k
    return read_until_code_point(range, std::not_fn(pred));
2243
111k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
2.20k
{
2242
2.20k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.20k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
1.26k
{
2242
1.26k
    return read_until_code_point(range, std::not_fn(pred));
2243
1.26k
}
2244
2245
template <typename Range>
2246
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2247
23.6k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.89k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.89k
        auto buf = make_contiguous_buffer(range);
2252
2.89k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.89k
        return ranges::next(range.begin(),
2254
2.89k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
20.7k
    else {
2257
20.7k
        auto it = range.begin();
2258
2259
20.7k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
948
            auto seg = get_contiguous_beginning(range);
2261
948
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
948
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
948
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
948
        }
2267
2268
0
        return read_until_code_point(
2269
20.7k
            ranges::subrange{it, range.end()},
2270
91.8k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
10.2k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
7.53k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2270
72.3k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2270
1.79k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
20.7k
    }
2272
23.6k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
948
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
948
    else {
2257
948
        auto it = range.begin();
2258
2259
948
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
948
            auto seg = get_contiguous_beginning(range);
2261
948
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
948
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
948
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
948
        }
2267
2268
0
        return read_until_code_point(
2269
948
            ranges::subrange{it, range.end()},
2270
948
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
948
    }
2272
948
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.89k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.89k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.89k
        auto buf = make_contiguous_buffer(range);
2252
2.89k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.89k
        return ranges::next(range.begin(),
2254
2.89k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
    else {
2257
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
        return read_until_code_point(
2269
            ranges::subrange{it, range.end()},
2270
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
    }
2272
2.89k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
474
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
474
    else {
2257
474
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
474
        return read_until_code_point(
2269
474
            ranges::subrange{it, range.end()},
2270
474
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
474
    }
2272
474
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
19.2k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
19.2k
    else {
2257
19.2k
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
19.2k
        return read_until_code_point(
2269
19.2k
            ranges::subrange{it, range.end()},
2270
19.2k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
19.2k
    }
2272
19.2k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2247
68
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
68
    else {
2257
68
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
68
        return read_until_code_point(
2269
68
            ranges::subrange{it, range.end()},
2270
68
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
68
    }
2272
68
}
2273
2274
template <typename Range>
2275
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2276
197k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
21.3k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
21.3k
        auto buf = make_contiguous_buffer(range);
2281
21.3k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
21.3k
        return ranges::next(range.begin(),
2283
21.3k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
176k
    else {
2286
176k
        auto it = range.begin();
2287
2288
176k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.77k
            auto seg = get_contiguous_beginning(range);
2290
2.77k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.77k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.77k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.77k
        }
2296
2297
176k
        SCN_UNUSED(it);
2298
235k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
235k
            return detail::is_cp_space(cp);
2300
235k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
1.71k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.71k
            return detail::is_cp_space(cp);
2300
1.71k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2298
60.8k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
60.8k
            return detail::is_cp_space(cp);
2300
60.8k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
764
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
764
            return detail::is_cp_space(cp);
2300
764
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2298
166k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
166k
            return detail::is_cp_space(cp);
2300
166k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
3.41k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
3.41k
            return detail::is_cp_space(cp);
2300
3.41k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
1.58k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.58k
            return detail::is_cp_space(cp);
2300
1.58k
        });
2301
176k
    }
2302
197k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
566
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
566
    else {
2286
566
        auto it = range.begin();
2287
2288
566
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
566
            auto seg = get_contiguous_beginning(range);
2290
566
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
566
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
566
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
566
        }
2296
2297
566
        SCN_UNUSED(it);
2298
566
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
566
            return detail::is_cp_space(cp);
2300
566
        });
2301
566
    }
2302
566
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
14.1k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
14.1k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
14.1k
        auto buf = make_contiguous_buffer(range);
2281
14.1k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
14.1k
        return ranges::next(range.begin(),
2283
14.1k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
14.1k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
60.1k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
60.1k
    else {
2286
60.1k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
60.1k
        SCN_UNUSED(it);
2298
60.1k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
60.1k
            return detail::is_cp_space(cp);
2300
60.1k
        });
2301
60.1k
    }
2302
60.1k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
434
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
434
    else {
2286
434
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
434
        SCN_UNUSED(it);
2298
434
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
434
            return detail::is_cp_space(cp);
2300
434
        });
2301
434
    }
2302
434
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
111k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
111k
    else {
2286
111k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
111k
        SCN_UNUSED(it);
2298
111k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
111k
            return detail::is_cp_space(cp);
2300
111k
        });
2301
111k
    }
2302
111k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
7.24k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
7.24k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
7.24k
        auto buf = make_contiguous_buffer(range);
2281
7.24k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
7.24k
        return ranges::next(range.begin(),
2283
7.24k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
7.24k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
2.20k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
2.20k
    else {
2286
2.20k
        auto it = range.begin();
2287
2288
2.20k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.20k
            auto seg = get_contiguous_beginning(range);
2290
2.20k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.20k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.20k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.20k
        }
2296
2297
2.20k
        SCN_UNUSED(it);
2298
2.20k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
2.20k
            return detail::is_cp_space(cp);
2300
2.20k
        });
2301
2.20k
    }
2302
2.20k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
1.26k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
1.26k
    else {
2286
1.26k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
1.26k
        SCN_UNUSED(it);
2298
1.26k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.26k
            return detail::is_cp_space(cp);
2300
1.26k
        });
2301
1.26k
    }
2302
1.26k
}
2303
2304
template <typename Range>
2305
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2306
    -> parse_expected<ranges::const_iterator_t<Range>>
2307
16.0k
{
2308
16.0k
    auto it = read_code_unit(range);
2309
16.0k
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
16.0k
    if (SCN_UNLIKELY(*range.begin() !=
2314
16.0k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
15.9k
        return unexpected(parse_error::error);
2316
15.9k
    }
2317
2318
106
    return *it;
2319
16.0k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
40
{
2308
40
    auto it = read_code_unit(range);
2309
40
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
40
    if (SCN_UNLIKELY(*range.begin() !=
2314
40
                     static_cast<detail::char_t<Range>>(ch))) {
2315
40
        return unexpected(parse_error::error);
2316
40
    }
2317
2318
0
    return *it;
2319
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.89k
{
2308
1.89k
    auto it = read_code_unit(range);
2309
1.89k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.89k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.89k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.89k
        return unexpected(parse_error::error);
2316
1.89k
    }
2317
2318
0
    return *it;
2319
1.89k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
90
{
2308
90
    auto it = read_code_unit(range);
2309
90
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
82
    if (SCN_UNLIKELY(*range.begin() !=
2314
82
                     static_cast<detail::char_t<Range>>(ch))) {
2315
64
        return unexpected(parse_error::error);
2316
64
    }
2317
2318
18
    return *it;
2319
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
12.9k
{
2308
12.9k
    auto it = read_code_unit(range);
2309
12.9k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
12.9k
    if (SCN_UNLIKELY(*range.begin() !=
2314
12.9k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
12.9k
        return unexpected(parse_error::error);
2316
12.9k
    }
2317
2318
66
    return *it;
2319
12.9k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
704
{
2308
704
    auto it = read_code_unit(range);
2309
704
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
704
    if (SCN_UNLIKELY(*range.begin() !=
2314
704
                     static_cast<detail::char_t<Range>>(ch))) {
2315
704
        return unexpected(parse_error::error);
2316
704
    }
2317
2318
0
    return *it;
2319
704
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
394
{
2308
394
    auto it = read_code_unit(range);
2309
394
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
394
    if (SCN_UNLIKELY(*range.begin() !=
2314
394
                     static_cast<detail::char_t<Range>>(ch))) {
2315
372
        return unexpected(parse_error::error);
2316
372
    }
2317
2318
22
    return *it;
2319
394
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2320
2321
template <typename Range>
2322
auto read_matching_code_point(Range range, char32_t cp)
2323
    -> parse_expected<ranges::const_iterator_t<Range>>
2324
{
2325
    auto val = read_code_point_into(range);
2326
    if (!val.is_valid()) {
2327
        return unexpected(parse_error::error);
2328
    }
2329
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2330
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2331
        return unexpected(parse_error::error);
2332
    }
2333
    return val.iterator;
2334
}
2335
2336
template <typename Range>
2337
auto read_matching_string(Range range,
2338
                          std::basic_string_view<detail::char_t<Range>> str)
2339
    -> parse_expected<ranges::const_iterator_t<Range>>
2340
96
{
2341
96
    SCN_TRY(it, read_exactly_n_code_units(
2342
60
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
60
                    .transform_error(make_eof_parse_error));
2344
2345
60
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
60
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
60
        return unexpected(parse_error::error);
2348
60
    }
2349
0
    return it;
2350
60
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
16
{
2341
16
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
10
                    .transform_error(make_eof_parse_error));
2344
2345
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
10
        return unexpected(parse_error::error);
2348
10
    }
2349
0
    return it;
2350
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
24
{
2341
24
    SCN_TRY(it, read_exactly_n_code_units(
2342
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
22
                    .transform_error(make_eof_parse_error));
2344
2345
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
22
        return unexpected(parse_error::error);
2348
22
    }
2349
0
    return it;
2350
22
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2351
2352
template <typename Range>
2353
auto read_matching_string_classic(Range range, std::string_view str)
2354
    -> parse_expected<ranges::const_iterator_t<Range>>
2355
16.0k
{
2356
16.0k
    SCN_TRY(it, read_exactly_n_code_units(
2357
15.5k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
15.5k
                    .transform_error(make_eof_parse_error));
2359
2360
15.5k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
2.59k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
2.59k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
2.59k
            return unexpected(parse_error::error);
2364
2.59k
        }
2365
0
        return it;
2366
    }
2367
12.9k
    else {
2368
12.9k
        auto range_it = range.begin();
2369
12.9k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
12.9k
            if (SCN_UNLIKELY(*range_it !=
2371
12.9k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
12.9k
                return unexpected(parse_error::error);
2373
12.9k
            }
2374
12.9k
        }
2375
0
        return it;
2376
12.9k
    }
2377
15.5k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
2.03k
{
2356
2.03k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.93k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.93k
                    .transform_error(make_eof_parse_error));
2359
2360
1.93k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
1.93k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
1.93k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
1.93k
            return unexpected(parse_error::error);
2364
1.93k
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
1.93k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
832
{
2356
832
    SCN_TRY(it, read_exactly_n_code_units(
2357
662
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
662
                    .transform_error(make_eof_parse_error));
2359
2360
662
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
662
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
662
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
662
            return unexpected(parse_error::error);
2364
662
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
662
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
12.8k
{
2356
12.8k
    SCN_TRY(it, read_exactly_n_code_units(
2357
12.6k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
12.6k
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
12.6k
    else {
2368
12.6k
        auto range_it = range.begin();
2369
12.6k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
12.6k
            if (SCN_UNLIKELY(*range_it !=
2371
12.6k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
12.6k
                return unexpected(parse_error::error);
2373
12.6k
            }
2374
12.6k
        }
2375
0
        return it;
2376
12.6k
    }
2377
12.6k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
360
{
2356
360
    SCN_TRY(it, read_exactly_n_code_units(
2357
252
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
252
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
252
    else {
2368
252
        auto range_it = range.begin();
2369
252
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
252
            if (SCN_UNLIKELY(*range_it !=
2371
252
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
252
                return unexpected(parse_error::error);
2373
252
            }
2374
252
        }
2375
0
        return it;
2376
252
    }
2377
252
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2378
2379
// Ripped from fast_float
2380
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2381
3.72k
{
2382
3.72k
    unsigned char running_diff{0};
2383
12.9k
    for (size_t i = 0; i < len; ++i) {
2384
9.27k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2385
9.27k
    }
2386
3.72k
    return running_diff == 0 || running_diff == 32;
2387
3.72k
}
2388
2389
template <typename Range>
2390
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2391
    -> parse_expected<ranges::const_iterator_t<Range>>
2392
32.1k
{
2393
32.1k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.72k
                  std::is_same_v<char_type, char>) {
2397
3.72k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.72k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.72k
            return unexpected(parse_error::error);
2402
3.72k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
28.4k
    else {
2407
28.4k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
28.1k
            if (ch < 'A' || ch > 'Z') {
2409
28.1k
                return ch;
2410
28.1k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
28.1k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2407
1.22k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.22k
            if (ch < 'A' || ch > 'Z') {
2409
1.22k
                return ch;
2410
1.22k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
1.22k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
742
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
742
            if (ch < 'A' || ch > 'Z') {
2409
742
                return ch;
2410
742
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
742
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
26.2k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
26.2k
            if (ch < 'A' || ch > 'Z') {
2409
26.2k
                return ch;
2410
26.2k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
26.2k
        };
2414
2415
28.4k
        SCN_TRY(it, read_exactly_n_code_units(
2416
27.9k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
27.9k
                        .transform_error(make_eof_parse_error));
2418
2419
27.9k
        if (SCN_UNLIKELY(!std::equal(
2420
27.9k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
27.9k
                    return ascii_tolower(a) ==
2422
27.9k
                           static_cast<detail::char_t<Range>>(b);
2423
27.9k
                }))) {
2424
27.9k
            return unexpected(parse_error::error);
2425
27.9k
        }
2426
2427
0
        return it;
2428
27.9k
    }
2429
32.1k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
1.48k
{
2393
1.48k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
1.48k
    else {
2407
1.48k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.48k
            if (ch < 'A' || ch > 'Z') {
2409
1.48k
                return ch;
2410
1.48k
            }
2411
1.48k
            return static_cast<char_type>(ch +
2412
1.48k
                                          static_cast<char_type>('a' - 'A'));
2413
1.48k
        };
2414
2415
1.48k
        SCN_TRY(it, read_exactly_n_code_units(
2416
1.22k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
1.22k
                        .transform_error(make_eof_parse_error));
2418
2419
1.22k
        if (SCN_UNLIKELY(!std::equal(
2420
1.22k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
1.22k
                    return ascii_tolower(a) ==
2422
1.22k
                           static_cast<detail::char_t<Range>>(b);
2423
1.22k
                }))) {
2424
1.22k
            return unexpected(parse_error::error);
2425
1.22k
        }
2426
2427
0
        return it;
2428
1.22k
    }
2429
1.48k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.72k
{
2393
3.72k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.72k
                  std::is_same_v<char_type, char>) {
2397
3.72k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.72k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.72k
            return unexpected(parse_error::error);
2402
3.72k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
    else {
2407
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
            if (ch < 'A' || ch > 'Z') {
2409
                return ch;
2410
            }
2411
            return static_cast<char_type>(ch +
2412
                                          static_cast<char_type>('a' - 'A'));
2413
        };
2414
2415
        SCN_TRY(it, read_exactly_n_code_units(
2416
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
                        .transform_error(make_eof_parse_error));
2418
2419
        if (SCN_UNLIKELY(!std::equal(
2420
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
                    return ascii_tolower(a) ==
2422
                           static_cast<detail::char_t<Range>>(b);
2423
                }))) {
2424
            return unexpected(parse_error::error);
2425
        }
2426
2427
        return it;
2428
    }
2429
3.72k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
916
{
2393
916
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
916
    else {
2407
916
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
916
            if (ch < 'A' || ch > 'Z') {
2409
916
                return ch;
2410
916
            }
2411
916
            return static_cast<char_type>(ch +
2412
916
                                          static_cast<char_type>('a' - 'A'));
2413
916
        };
2414
2415
916
        SCN_TRY(it, read_exactly_n_code_units(
2416
694
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
694
                        .transform_error(make_eof_parse_error));
2418
2419
694
        if (SCN_UNLIKELY(!std::equal(
2420
694
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
694
                    return ascii_tolower(a) ==
2422
694
                           static_cast<detail::char_t<Range>>(b);
2423
694
                }))) {
2424
694
            return unexpected(parse_error::error);
2425
694
        }
2426
2427
0
        return it;
2428
694
    }
2429
916
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
26.0k
{
2393
26.0k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
26.0k
    else {
2407
26.0k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
26.0k
            if (ch < 'A' || ch > 'Z') {
2409
26.0k
                return ch;
2410
26.0k
            }
2411
26.0k
            return static_cast<char_type>(ch +
2412
26.0k
                                          static_cast<char_type>('a' - 'A'));
2413
26.0k
        };
2414
2415
26.0k
        SCN_TRY(it, read_exactly_n_code_units(
2416
26.0k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
26.0k
                        .transform_error(make_eof_parse_error));
2418
2419
26.0k
        if (SCN_UNLIKELY(!std::equal(
2420
26.0k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
26.0k
                    return ascii_tolower(a) ==
2422
26.0k
                           static_cast<detail::char_t<Range>>(b);
2423
26.0k
                }))) {
2424
26.0k
            return unexpected(parse_error::error);
2425
26.0k
        }
2426
2427
0
        return it;
2428
26.0k
    }
2429
26.0k
}
2430
2431
template <typename Range>
2432
auto read_one_of_code_unit(Range range, std::string_view str)
2433
    -> parse_expected<ranges::const_iterator_t<Range>>
2434
31.8k
{
2435
31.8k
    auto it = read_code_unit(range);
2436
31.8k
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
63.6k
    for (auto ch : str) {
2441
63.6k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
63.6k
    }
2445
2446
31.8k
    return unexpected(parse_error::error);
2447
31.8k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
1.40k
{
2435
1.40k
    auto it = read_code_unit(range);
2436
1.40k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
2.80k
    for (auto ch : str) {
2441
2.80k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
2.80k
    }
2445
2446
1.40k
    return unexpected(parse_error::error);
2447
1.40k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.67k
{
2435
3.67k
    auto it = read_code_unit(range);
2436
3.67k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.35k
    for (auto ch : str) {
2441
7.35k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.35k
    }
2445
2446
3.67k
    return unexpected(parse_error::error);
2447
3.67k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
810
{
2435
810
    auto it = read_code_unit(range);
2436
810
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
1.62k
    for (auto ch : str) {
2441
1.62k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
1.62k
    }
2445
2446
810
    return unexpected(parse_error::error);
2447
810
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
25.9k
{
2435
25.9k
    auto it = read_code_unit(range);
2436
25.9k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
51.8k
    for (auto ch : str) {
2441
51.8k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
51.8k
    }
2445
2446
25.9k
    return unexpected(parse_error::error);
2447
25.9k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2434
20
{
2435
20
    auto it = read_code_unit(range);
2436
20
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
28
    for (auto ch : str) {
2441
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
28
    }
2445
2446
14
    return unexpected(parse_error::error);
2447
14
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2448
2449
template <typename Range, template <class> class Expected, typename Iterator>
2450
auto apply_opt(Expected<Iterator>&& result, Range range)
2451
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2452
                        ranges::const_iterator_t<Range>>
2453
8.03k
{
2454
8.03k
    if (!result) {
2455
8.02k
        return range.begin();
2456
8.02k
    }
2457
12
    return *result;
2458
8.03k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
356
{
2454
356
    if (!result) {
2455
356
        return range.begin();
2456
356
    }
2457
0
    return *result;
2458
356
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
936
{
2454
936
    if (!result) {
2455
936
        return range.begin();
2456
936
    }
2457
0
    return *result;
2458
936
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
226
{
2454
226
    if (!result) {
2455
220
        return range.begin();
2456
220
    }
2457
6
    return *result;
2458
226
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
6.51k
{
2454
6.51k
    if (!result) {
2455
6.50k
        return range.begin();
2456
6.50k
    }
2457
6
    return *result;
2458
6.51k
}
2459
2460
/////////////////////////////////////////////////////////////////
2461
// Text width calculation
2462
/////////////////////////////////////////////////////////////////
2463
2464
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2465
163k
{
2466
163k
    if (cp >= 0x1100 &&
2467
163k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2468
40.9k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2469
40.9k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2470
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2471
40.9k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2472
40.9k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2473
40.9k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2474
40.9k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2475
40.9k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2476
40.9k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2477
40.9k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2478
40.9k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2479
40.9k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2480
         // Miscellaneous Symbols and Pictographs + Emoticons:
2481
40.9k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2482
         // Supplemental Symbols and Pictographs:
2483
40.9k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2484
4.07k
        return 2;
2485
4.07k
    }
2486
159k
    return 1;
2487
163k
}
2488
2489
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2490
105k
{
2491
105k
    return calculate_text_width_for_fmt_v10(cp);
2492
105k
}
2493
2494
template <typename CharT>
2495
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2496
{
2497
    size_t count{0};
2498
    for_each_code_point_valid(input, [&count](char32_t cp) {
2499
        count += calculate_text_width_for_fmt_v10(cp);
2500
    });
2501
    return count;
2502
}
2503
2504
constexpr std::size_t calculate_text_width(char32_t cp)
2505
250
{
2506
250
    return calculate_text_width_for_fmt_v10(cp);
2507
250
}
2508
2509
template <typename CharT>
2510
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2511
44.6k
{
2512
44.6k
    size_t count{0};
2513
57.8k
    for_each_code_point(input, [&count](char32_t cp) {
2514
57.8k
        count += calculate_text_width_for_fmt_v10(cp);
2515
57.8k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
49.0k
    for_each_code_point(input, [&count](char32_t cp) {
2514
49.0k
        count += calculate_text_width_for_fmt_v10(cp);
2515
49.0k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
8.77k
    for_each_code_point(input, [&count](char32_t cp) {
2514
8.77k
        count += calculate_text_width_for_fmt_v10(cp);
2515
8.77k
    });
2516
44.6k
    return count;
2517
44.6k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2511
41.2k
{
2512
41.2k
    size_t count{0};
2513
41.2k
    for_each_code_point(input, [&count](char32_t cp) {
2514
41.2k
        count += calculate_text_width_for_fmt_v10(cp);
2515
41.2k
    });
2516
41.2k
    return count;
2517
41.2k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2511
3.42k
{
2512
3.42k
    size_t count{0};
2513
3.42k
    for_each_code_point(input, [&count](char32_t cp) {
2514
3.42k
        count += calculate_text_width_for_fmt_v10(cp);
2515
3.42k
    });
2516
3.42k
    return count;
2517
3.42k
}
2518
2519
namespace counted_width_iterator_impl {
2520
template <typename It, typename S>
2521
class counted_width_iterator {
2522
    static_assert(ranges::forward_iterator<It>);
2523
    static_assert(ranges::sentinel_for<S, It>);
2524
2525
    template <typename OtherIt, typename OtherS>
2526
    friend class counted_width_iterator;
2527
2528
public:
2529
    using iterator = It;
2530
    using sentinel = S;
2531
    using value_type = ranges::iter_value_t<It>;
2532
    using pointer = value_type*;
2533
    using reference = value_type&;
2534
    using difference_type = ranges::iter_difference_t<It>;
2535
    using iterator_category =
2536
        std::conditional_t<ranges::bidirectional_iterator<It>,
2537
                           std::bidirectional_iterator_tag,
2538
                           std::forward_iterator_tag>;
2539
2540
    constexpr counted_width_iterator() = default;
2541
2542
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2543
48.4k
        : m_current(x), m_end(s), m_count(n)
2544
48.4k
    {
2545
48.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2543
5.65k
        : m_current(x), m_end(s), m_count(n)
2544
5.65k
    {
2545
5.65k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2543
3.02k
        : m_current(x), m_end(s), m_count(n)
2544
3.02k
    {
2545
3.02k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2543
25.6k
        : m_current(x), m_end(s), m_count(n)
2544
25.6k
    {
2545
25.6k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2543
14.0k
        : m_current(x), m_end(s), m_count(n)
2544
14.0k
    {
2545
14.0k
    }
2546
2547
    template <typename OtherIt,
2548
              typename OtherS,
2549
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2550
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2551
    constexpr counted_width_iterator(
2552
        const counted_width_iterator<OtherIt, OtherS>& other)
2553
        : m_current(other.m_current),
2554
          m_end(other.m_end),
2555
          m_count(other.m_count),
2556
          m_multibyte_left(other.m_multibyte_left)
2557
    {
2558
    }
2559
2560
    template <typename OtherIt, typename OtherS>
2561
    constexpr auto operator=(
2562
        const counted_width_iterator<OtherIt, OtherS>& other)
2563
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2564
                                std::is_convertible_v<OtherS, S>,
2565
                            counted_width_iterator&>
2566
    {
2567
        m_current = other.m_current;
2568
        m_end = other.m_end;
2569
        m_count = other.m_count;
2570
        m_multibyte_left = other.m_multibyte_left;
2571
        return *this;
2572
    }
2573
2574
    constexpr It base() const
2575
233k
    {
2576
233k
        return m_current;
2577
233k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2575
154k
    {
2576
154k
        return m_current;
2577
154k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2575
51.1k
    {
2576
51.1k
        return m_current;
2577
51.1k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
20.2k
    {
2576
20.2k
        return m_current;
2577
20.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
6.72k
    {
2576
6.72k
        return m_current;
2577
6.72k
    }
2578
    constexpr difference_type count() const
2579
453k
    {
2580
453k
        return m_count;
2581
453k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2579
302k
    {
2580
302k
        return m_count;
2581
302k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2579
98.2k
    {
2580
98.2k
        return m_count;
2581
98.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
39.5k
    {
2580
39.5k
        return m_count;
2581
39.5k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
12.7k
    {
2580
12.7k
        return m_count;
2581
12.7k
    }
2582
    constexpr difference_type multibyte_left() const
2583
35.5k
    {
2584
35.5k
        return m_multibyte_left;
2585
35.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2583
26.9k
    {
2584
26.9k
        return m_multibyte_left;
2585
26.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2583
4.37k
    {
2584
4.37k
        return m_multibyte_left;
2585
4.37k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
3.33k
    {
2584
3.33k
        return m_multibyte_left;
2585
3.33k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
890
    {
2584
890
        return m_multibyte_left;
2585
890
    }
2586
2587
    bool is_current_double_wide() const
2588
14.4k
    {
2589
14.4k
        assert(count() != 0 || multibyte_left() != 0);
2590
14.4k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
14.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2588
8.66k
    {
2589
8.66k
        assert(count() != 0 || multibyte_left() != 0);
2590
8.66k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
8.66k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2588
3.57k
    {
2589
3.57k
        assert(count() != 0 || multibyte_left() != 0);
2590
3.57k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
3.57k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
1.55k
    {
2589
1.55k
        assert(count() != 0 || multibyte_left() != 0);
2590
1.55k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
1.55k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
624
    {
2589
624
        assert(count() != 0 || multibyte_left() != 0);
2590
624
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
624
    }
2592
2593
    constexpr decltype(auto) operator*()
2594
199k
    {
2595
199k
        return *m_current;
2596
199k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2594
135k
    {
2595
135k
        return *m_current;
2596
135k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2594
48.3k
    {
2595
48.3k
        return *m_current;
2596
48.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
11.4k
    {
2595
11.4k
        return *m_current;
2596
11.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
3.93k
    {
2595
3.93k
        return *m_current;
2596
3.93k
    }
2597
    constexpr decltype(auto) operator*() const
2598
19.8k
    {
2599
19.8k
        return *m_current;
2600
19.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2598
14.7k
    {
2599
14.7k
        return *m_current;
2600
14.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2598
5.02k
    {
2599
5.02k
        return *m_current;
2600
5.02k
    }
2601
2602
    constexpr counted_width_iterator& operator++()
2603
215k
    {
2604
215k
        SCN_EXPECT(m_current != m_end);
2605
215k
        _increment_current();
2606
215k
        return *this;
2607
215k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2603
162k
    {
2604
162k
        SCN_EXPECT(m_current != m_end);
2605
162k
        _increment_current();
2606
162k
        return *this;
2607
162k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2603
35.2k
    {
2604
35.2k
        SCN_EXPECT(m_current != m_end);
2605
35.2k
        _increment_current();
2606
35.2k
        return *this;
2607
35.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
15.7k
    {
2604
15.7k
        SCN_EXPECT(m_current != m_end);
2605
15.7k
        _increment_current();
2606
15.7k
        return *this;
2607
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
1.88k
    {
2604
1.88k
        SCN_EXPECT(m_current != m_end);
2605
1.88k
        _increment_current();
2606
1.88k
        return *this;
2607
1.88k
    }
2608
2609
    constexpr counted_width_iterator operator++(int)
2610
    {
2611
        auto tmp = *this;
2612
        ++*this;
2613
        return tmp;
2614
    }
2615
2616
    template <typename Iter = It>
2617
    constexpr auto operator--()
2618
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2619
                            counted_width_iterator&>
2620
0
    {
2621
0
        _decrement_current();
2622
0
        return *this;
2623
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2624
2625
    template <typename Iter = It>
2626
    constexpr auto operator--(int)
2627
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2628
                            counted_width_iterator>
2629
    {
2630
        auto tmp = *this;
2631
        --*this;
2632
        return tmp;
2633
    }
2634
2635
    // TODO: optimize, make better than forward, if possible
2636
#if 0
2637
                template <typename Iter = It>
2638
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2639
                    ranges_std::random_access_iterator<Iter>,
2640
                    counted_width_iterator>
2641
                {
2642
                    // TODO
2643
                    return counted_width_iterator(m_current + n, m_count - n);
2644
                }
2645
2646
                template <typename Iter = It,
2647
                          std::enable_if_t<ranges_std::random_access_iterator<
2648
                              Iter>>* = nullptr>
2649
                friend constexpr counted_width_iterator operator+(
2650
                    ranges_std::iter_difference_t<Iter> n,
2651
                    const counted_width_iterator<Iter>& x)
2652
                {
2653
                    return x + n;
2654
                }
2655
2656
                template <typename Iter = It>
2657
                constexpr auto operator+=(difference_type n)
2658
                    -> std::enable_if_t<
2659
                        ranges_std::random_access_iterator<Iter>,
2660
                        counted_width_iterator&>
2661
                {
2662
                    // TODO
2663
                    m_current += n;
2664
                    m_count -= n;
2665
                    return *this;
2666
                }
2667
2668
                template <typename Iter = It>
2669
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2670
                    ranges_std::random_access_iterator<Iter>,
2671
                    counted_width_iterator>
2672
                {
2673
                    // TODO
2674
                    return counted_width_iterator(m_current - n, m_count + n);
2675
                }
2676
2677
                template <typename Iter = It,
2678
                          std::enable_if_t<ranges_std::random_access_iterator<
2679
                              Iter>>* = nullptr>
2680
                constexpr decltype(auto) operator[](difference_type n) const
2681
                {
2682
                    return m_current[n];
2683
                }
2684
#endif
2685
2686
    template <typename OtherIt, typename OtherS>
2687
    friend constexpr auto operator==(
2688
        const counted_width_iterator& a,
2689
        const counted_width_iterator<OtherIt, OtherS>& b)
2690
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2691
131k
    {
2692
131k
        return a.m_current == b.m_current;
2693
131k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
108k
    {
2692
108k
        return a.m_current == b.m_current;
2693
108k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
13.7k
    {
2692
13.7k
        return a.m_current == b.m_current;
2693
13.7k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
9.70k
    {
2692
9.70k
        return a.m_current == b.m_current;
2693
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2694
    template <typename OtherIt, typename OtherS>
2695
    friend constexpr auto operator!=(
2696
        const counted_width_iterator& a,
2697
        const counted_width_iterator<OtherIt, OtherS>& b)
2698
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2699
118k
    {
2700
118k
        return !(a == b);
2701
118k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
96.4k
    {
2700
96.4k
        return !(a == b);
2701
96.4k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
12.4k
    {
2700
12.4k
        return !(a == b);
2701
12.4k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
9.70k
    {
2700
9.70k
        return !(a == b);
2701
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2702
2703
    friend constexpr bool operator==(const counted_width_iterator& x,
2704
                                     ranges::default_sentinel_t)
2705
    {
2706
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2707
               (x.count() == 1 && x.multibyte_left() == 0 &&
2708
                x.is_current_double_wide());
2709
    }
2710
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2711
                                     const counted_width_iterator& x)
2712
    {
2713
        return x == s;
2714
    }
2715
2716
    friend constexpr bool operator!=(const counted_width_iterator& a,
2717
                                     ranges::default_sentinel_t b)
2718
    {
2719
        return !(a == b);
2720
    }
2721
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2722
                                     const counted_width_iterator& b)
2723
    {
2724
        return !(a == b);
2725
    }
2726
2727
    template <typename OtherIt, typename OtherS>
2728
    friend constexpr auto operator<(
2729
        const counted_width_iterator& a,
2730
        const counted_width_iterator<OtherIt, OtherS>& b)
2731
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2732
    {
2733
        if (a.count() == b.count()) {
2734
            return a.multibyte_left() > b.multibyte_left();
2735
        }
2736
2737
        return a.count() > b.count();
2738
    }
2739
2740
    template <typename OtherIt, typename OtherS>
2741
    friend constexpr auto operator>(
2742
        const counted_width_iterator& a,
2743
        const counted_width_iterator<OtherIt, OtherS>& b)
2744
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2745
    {
2746
        return !(b < a);
2747
    }
2748
2749
    template <typename OtherIt, typename OtherS>
2750
    friend constexpr auto operator<=(
2751
        const counted_width_iterator& a,
2752
        const counted_width_iterator<OtherIt, OtherS>& b)
2753
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2754
    {
2755
        return !(b < a);
2756
    }
2757
2758
    template <typename OtherIt, typename OtherS>
2759
    friend constexpr auto operator>=(
2760
        const counted_width_iterator& a,
2761
        const counted_width_iterator<OtherIt, OtherS>& b)
2762
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2763
    {
2764
        return !(a < b);
2765
    }
2766
2767
#if 0
2768
                template <typename OtherIt, typename OtherS>
2769
                friend constexpr auto operator-(
2770
                    const counted_width_iterator& a,
2771
                    const counted_width_iterator<OtherIt, OtherS>& b)
2772
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2773
                                        ranges_std::iter_difference_t<OtherIt>>
2774
                {
2775
                    // TODO
2776
                }
2777
2778
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2779
                    const counted_width_iterator& x,
2780
                    ranges_std::default_sentinel_t)
2781
                {
2782
                    // TODO
2783
                }
2784
2785
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2786
                    ranges_std::default_sentinel_t,
2787
                    const counted_width_iterator& x)
2788
                {
2789
                    // TODO
2790
                }
2791
#endif
2792
2793
#if 0
2794
                template <typename Iter = It>
2795
                constexpr auto operator-=(difference_type n)
2796
                    -> std::enable_if_t<
2797
                        ranges_std::random_access_iterator<Iter>,
2798
                        counted_width_iterator&>
2799
                {
2800
                    // TODO
2801
                    m_current -= n;
2802
                    m_count += n;
2803
                    return *this;
2804
                }
2805
#endif
2806
2807
private:
2808
    difference_type _get_cp_length_at_current() const
2809
146k
    {
2810
146k
        return static_cast<difference_type>(
2811
146k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
146k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
95.2k
    {
2810
95.2k
        return static_cast<difference_type>(
2811
95.2k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
95.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
38.7k
    {
2810
38.7k
        return static_cast<difference_type>(
2811
38.7k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
38.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
9.88k
    {
2810
9.88k
        return static_cast<difference_type>(
2811
9.88k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
9.88k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
2.51k
    {
2810
2.51k
        return static_cast<difference_type>(
2811
2.51k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
2.51k
    }
2813
2814
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2815
146k
    {
2816
146k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.50k
            return 0;
2818
1.50k
        }
2819
2820
144k
        if (cplen == 1) {
2821
105k
            SCN_EXPECT(m_current != m_end);
2822
105k
            auto cp = static_cast<char32_t>(*m_current);
2823
105k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
105k
        }
2825
2826
39.4k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
39.4k
                                           cplen);
2828
39.4k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
39.0k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
39.0k
        return static_cast<difference_type>(calculate_text_width(
2834
39.0k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
39.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
95.2k
    {
2816
95.2k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.50k
            return 0;
2818
1.50k
        }
2819
2820
93.7k
        if (cplen == 1) {
2821
59.2k
            SCN_EXPECT(m_current != m_end);
2822
59.2k
            auto cp = static_cast<char32_t>(*m_current);
2823
59.2k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
59.2k
        }
2825
2826
34.5k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
34.5k
                                           cplen);
2828
34.5k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
34.0k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
34.0k
        return static_cast<difference_type>(calculate_text_width(
2834
34.0k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
34.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
38.7k
    {
2816
38.7k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
38.7k
        if (cplen == 1) {
2821
38.7k
            SCN_EXPECT(m_current != m_end);
2822
38.7k
            auto cp = static_cast<char32_t>(*m_current);
2823
38.7k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
38.7k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
9.88k
    {
2816
9.88k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
9.88k
        if (cplen == 1) {
2821
4.91k
            SCN_EXPECT(m_current != m_end);
2822
4.91k
            auto cp = static_cast<char32_t>(*m_current);
2823
4.91k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
4.91k
        }
2825
2826
4.97k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
4.97k
                                           cplen);
2828
4.97k
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
4.97k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
4.97k
        return static_cast<difference_type>(calculate_text_width(
2834
4.97k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
4.97k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
2.51k
    {
2816
2.51k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
2.51k
        if (cplen == 1) {
2821
2.51k
            SCN_EXPECT(m_current != m_end);
2822
2.51k
            auto cp = static_cast<char32_t>(*m_current);
2823
2.51k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
2.51k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
2836
2837
    void _increment_current()
2838
215k
    {
2839
215k
        if (m_multibyte_left == 0) {
2840
132k
            auto cplen = _get_cp_length_at_current();
2841
132k
            m_multibyte_left = cplen - 1;
2842
132k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
132k
        }
2844
83.7k
        else {
2845
83.7k
            --m_multibyte_left;
2846
83.7k
        }
2847
2848
215k
        ++m_current;
2849
215k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2838
162k
    {
2839
162k
        if (m_multibyte_left == 0) {
2840
86.6k
            auto cplen = _get_cp_length_at_current();
2841
86.6k
            m_multibyte_left = cplen - 1;
2842
86.6k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
86.6k
        }
2844
76.3k
        else {
2845
76.3k
            --m_multibyte_left;
2846
76.3k
        }
2847
2848
162k
        ++m_current;
2849
162k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2838
35.2k
    {
2839
35.2k
        if (m_multibyte_left == 0) {
2840
35.2k
            auto cplen = _get_cp_length_at_current();
2841
35.2k
            m_multibyte_left = cplen - 1;
2842
35.2k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
35.2k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
35.2k
        ++m_current;
2849
35.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
15.7k
    {
2839
15.7k
        if (m_multibyte_left == 0) {
2840
8.33k
            auto cplen = _get_cp_length_at_current();
2841
8.33k
            m_multibyte_left = cplen - 1;
2842
8.33k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
8.33k
        }
2844
7.38k
        else {
2845
7.38k
            --m_multibyte_left;
2846
7.38k
        }
2847
2848
15.7k
        ++m_current;
2849
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
1.88k
    {
2839
1.88k
        if (m_multibyte_left == 0) {
2840
1.88k
            auto cplen = _get_cp_length_at_current();
2841
1.88k
            m_multibyte_left = cplen - 1;
2842
1.88k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
1.88k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
1.88k
        ++m_current;
2849
1.88k
    }
2850
2851
    void _decrement_current()
2852
0
    {
2853
0
        --m_current;
2854
2855
0
        auto cplen = _get_cp_length_at_current();
2856
0
        if (cplen == 0) {
2857
0
            ++m_multibyte_left;
2858
0
        }
2859
0
        else {
2860
0
            m_count += _get_width_at_current_cp_start(cplen);
2861
0
            m_multibyte_left = cplen - 1;
2862
0
        }
2863
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2864
2865
    It m_current{};
2866
    S m_end{};
2867
    difference_type m_count{0};
2868
    difference_type m_multibyte_left{0};
2869
};
2870
2871
template <typename I, typename S>
2872
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2873
    -> counted_width_iterator<I, S>;
2874
}  // namespace counted_width_iterator_impl
2875
2876
using counted_width_iterator_impl::counted_width_iterator;
2877
2878
template <typename View, typename = void>
2879
struct take_width_view_storage;
2880
2881
template <typename View>
2882
struct take_width_view_storage<View,
2883
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2884
21.3k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2884
10.5k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2884
5.55k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2884
3.45k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2884
1.76k
    take_width_view_storage(const View& v) : view(v) {}
2885
2886
    const View& get() const
2887
215k
    {
2888
215k
        return view;
2889
215k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2887
123k
    {
2888
123k
        return view;
2889
123k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2887
56.0k
    {
2888
56.0k
        return view;
2889
56.0k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2887
23.9k
    {
2888
23.9k
        return view;
2889
23.9k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2887
11.4k
    {
2888
11.4k
        return view;
2889
11.4k
    }
2890
2891
    View view;
2892
};
2893
2894
template <typename View>
2895
struct take_width_view_storage<
2896
    View,
2897
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2898
    take_width_view_storage(const View& v) : view(&v) {}
2899
2900
    const View& get() const
2901
    {
2902
        return *view;
2903
    }
2904
2905
    const View* view;
2906
};
2907
2908
template <typename View>
2909
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2910
    template <bool IsConst>
2911
    class sentinel {
2912
        friend class sentinel<!IsConst>;
2913
        using Base = std::conditional_t<IsConst, const View, View>;
2914
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2915
                                           ranges::sentinel_t<Base>>;
2916
        using underlying = ranges::sentinel_t<Base>;
2917
2918
    public:
2919
        constexpr sentinel() = default;
2920
2921
118k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2921
12.6k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2921
5.35k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2921
72.4k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2921
27.8k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2922
2923
        template <
2924
            typename S,
2925
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2926
            bool C = IsConst,
2927
            typename VV = View,
2928
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2929
                                                        underlying>>* = nullptr>
2930
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2931
        {
2932
        }
2933
2934
        constexpr underlying base() const
2935
        {
2936
            return m_end;
2937
        }
2938
2939
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2940
217k
        {
2941
217k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
217k
                   y.base() == x.m_end ||
2943
217k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
212k
                    y.is_current_double_wide());
2945
217k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2940
147k
        {
2941
147k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
147k
                   y.base() == x.m_end ||
2943
147k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
144k
                    y.is_current_double_wide());
2945
147k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2940
47.0k
        {
2941
47.0k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
47.0k
                   y.base() == x.m_end ||
2943
47.0k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
45.8k
                    y.is_current_double_wide());
2945
47.0k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2940
17.7k
        {
2941
17.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
17.7k
                   y.base() == x.m_end ||
2943
17.7k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
17.0k
                    y.is_current_double_wide());
2945
17.7k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2940
5.35k
        {
2941
5.35k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
5.35k
                   y.base() == x.m_end ||
2943
5.35k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
5.08k
                    y.is_current_double_wide());
2945
5.35k
        }
2946
2947
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2948
        {
2949
            return y == x;
2950
        }
2951
2952
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2953
109k
        {
2954
109k
            return !(y == x);
2955
109k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2953
74.8k
        {
2954
74.8k
            return !(y == x);
2955
74.8k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2953
23.8k
        {
2954
23.8k
            return !(y == x);
2955
23.8k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2953
8.17k
        {
2954
8.17k
            return !(y == x);
2955
8.17k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2953
2.49k
        {
2954
2.49k
            return !(y == x);
2955
2.49k
        }
2956
2957
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2958
        {
2959
            return !(y == x);
2960
        }
2961
2962
    private:
2963
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2964
    };
2965
2966
public:
2967
    using value_type = ranges::range_value_t<View>;
2968
2969
    take_width_view() = default;
2970
2971
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2972
21.3k
        : m_base(base), m_count(count)
2973
21.3k
    {
2974
21.3k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2972
10.5k
        : m_base(base), m_count(count)
2973
10.5k
    {
2974
10.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2972
5.55k
        : m_base(base), m_count(count)
2973
5.55k
    {
2974
5.55k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2972
3.45k
        : m_base(base), m_count(count)
2973
3.45k
    {
2974
3.45k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2972
1.76k
        : m_base(base), m_count(count)
2973
1.76k
    {
2974
1.76k
    }
2975
2976
    constexpr View base() const
2977
    {
2978
        return m_base;
2979
    }
2980
2981
    constexpr auto begin() const
2982
48.4k
    {
2983
48.4k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
48.4k
                                      m_count};
2985
48.4k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2982
25.6k
    {
2983
25.6k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
25.6k
                                      m_count};
2985
25.6k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2982
14.0k
    {
2983
14.0k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
14.0k
                                      m_count};
2985
14.0k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2982
5.65k
    {
2983
5.65k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
5.65k
                                      m_count};
2985
5.65k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2982
3.02k
    {
2983
3.02k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
3.02k
                                      m_count};
2985
3.02k
    }
2986
2987
    constexpr auto end() const
2988
118k
    {
2989
118k
        return sentinel<true>{m_base.get().end()};
2990
118k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2988
72.4k
    {
2989
72.4k
        return sentinel<true>{m_base.get().end()};
2990
72.4k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2988
27.8k
    {
2989
27.8k
        return sentinel<true>{m_base.get().end()};
2990
27.8k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2988
12.6k
    {
2989
12.6k
        return sentinel<true>{m_base.get().end()};
2990
12.6k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2988
5.35k
    {
2989
5.35k
        return sentinel<true>{m_base.get().end()};
2990
5.35k
    }
2991
2992
private:
2993
    take_width_view_storage<View> m_base{};
2994
    std::ptrdiff_t m_count{0};
2995
};
2996
2997
template <typename R>
2998
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2999
3000
struct _take_width_fn {
3001
    template <typename R>
3002
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
3003
        -> decltype(take_width_view{r, n})
3004
21.3k
    {
3005
21.3k
        return take_width_view{r, n};
3006
21.3k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
3004
10.5k
    {
3005
10.5k
        return take_width_view{r, n};
3006
10.5k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
3004
5.55k
    {
3005
5.55k
        return take_width_view{r, n};
3006
5.55k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
3004
3.45k
    {
3005
3.45k
        return take_width_view{r, n};
3006
3.45k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
3004
1.76k
    {
3005
1.76k
        return take_width_view{r, n};
3006
1.76k
    }
3007
};
3008
3009
inline constexpr _take_width_fn take_width{};
3010
}  // namespace impl
3011
3012
namespace ranges {
3013
template <typename R>
3014
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
3015
    enable_borrowed_range<R>;
3016
}
3017
3018
/////////////////////////////////////////////////////////////////
3019
// contiguous_scan_context
3020
/////////////////////////////////////////////////////////////////
3021
3022
template <typename CharT>
3023
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
3024
    : public detail::scan_context_base<basic_scan_args<
3025
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
3026
    using base = detail::scan_context_base<
3027
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
3028
3029
    using parent_context_type =
3030
        basic_scan_context<detail::buffer_range_tag, CharT>;
3031
    using args_type = basic_scan_args<parent_context_type>;
3032
    using arg_type = basic_scan_arg<parent_context_type>;
3033
3034
public:
3035
    using char_type = CharT;
3036
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3037
    using iterator = const char_type*;
3038
    using sentinel = const char_type*;
3039
    using parse_context_type = basic_scan_parse_context<char_type>;
3040
3041
    template <typename Range,
3042
              std::enable_if_t<ranges::contiguous_range<Range> &&
3043
                               ranges::borrowed_range<Range>>* = nullptr>
3044
    constexpr basic_scan_context(Range&& r,
3045
                                 args_type a,
3046
                                 detail::locale_ref loc = {})
3047
150k
        : base(SCN_MOVE(a), loc),
3048
150k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
150k
          m_current(m_range.begin())
3050
150k
    {
3051
150k
    }
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3047
50.0k
        : base(SCN_MOVE(a), loc),
3048
50.0k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
50.0k
          m_current(m_range.begin())
3050
50.0k
    {
3051
50.0k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3047
100k
        : base(SCN_MOVE(a), loc),
3048
100k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
100k
          m_current(m_range.begin())
3050
100k
    {
3051
100k
    }
3052
3053
    constexpr iterator begin() const
3054
205M
    {
3055
205M
        return m_current;
3056
205M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3054
134k
    {
3055
134k
        return m_current;
3056
134k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3054
205M
    {
3055
205M
        return m_current;
3056
205M
    }
3057
3058
    constexpr sentinel end() const
3059
410M
    {
3060
410M
        return m_range.end();
3061
410M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3059
130k
    {
3060
130k
        return m_range.end();
3061
130k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3059
410M
    {
3060
410M
        return m_range.end();
3061
410M
    }
3062
3063
    constexpr auto range() const
3064
160k
    {
3065
160k
        return ranges::subrange{begin(), end()};
3066
160k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3064
34.3k
    {
3065
34.3k
        return ranges::subrange{begin(), end()};
3066
34.3k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3064
126k
    {
3065
126k
        return ranges::subrange{begin(), end()};
3066
126k
    }
3067
3068
    constexpr auto underlying_range() const
3069
0
    {
3070
0
        return m_range;
3071
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
3072
3073
    void advance_to(iterator it)
3074
205M
    {
3075
205M
        SCN_EXPECT(it <= end());
3076
205M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
205M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
205M
        }
3081
205M
        m_current = SCN_MOVE(it);
3082
205M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3074
49.1k
    {
3075
49.1k
        SCN_EXPECT(it <= end());
3076
49.1k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
49.1k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
49.1k
        }
3081
49.1k
        m_current = SCN_MOVE(it);
3082
49.1k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3074
205M
    {
3075
205M
        SCN_EXPECT(it <= end());
3076
205M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
205M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
205M
        }
3081
205M
        m_current = SCN_MOVE(it);
3082
205M
    }
3083
3084
    void advance_to(const typename parent_context_type::iterator& it)
3085
0
    {
3086
0
        SCN_EXPECT(it.position() <=
3087
0
                   static_cast<std::ptrdiff_t>(m_range.size()));
3088
0
        m_current = m_range.begin() + it.position();
3089
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
3090
3091
    std::ptrdiff_t begin_position()
3092
0
    {
3093
0
        return ranges::distance(m_range.begin(), begin());
3094
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
3095
3096
private:
3097
    range_type m_range;
3098
    iterator m_current;
3099
};
3100
3101
namespace impl {
3102
template <typename CharT>
3103
using basic_contiguous_scan_context =
3104
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3105
3106
struct reader_error_handler {
3107
    constexpr void on_error(const char* msg)
3108
14.6k
    {
3109
14.6k
        SCN_UNLIKELY_ATTR
3110
14.6k
        m_msg = msg;
3111
14.6k
    }
3112
    explicit constexpr operator bool() const
3113
32.4k
    {
3114
32.4k
        return m_msg == nullptr;
3115
32.4k
    }
3116
3117
    const char* m_msg{nullptr};
3118
};
3119
3120
/////////////////////////////////////////////////////////////////
3121
// General reading support
3122
/////////////////////////////////////////////////////////////////
3123
3124
template <typename SourceRange>
3125
auto skip_classic_whitespace(const SourceRange& range,
3126
                             bool allow_exhaustion = false)
3127
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3128
62.7k
{
3129
62.7k
    if (!allow_exhaustion) {
3130
61.2k
        auto it = read_while_classic_space(range);
3131
61.2k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
61.2k
            SCN_UNLIKELY(!e)) {
3133
354
            return unexpected(e);
3134
354
        }
3135
3136
60.8k
        return it;
3137
61.2k
    }
3138
3139
1.53k
    return read_while_classic_space(range);
3140
62.7k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
566
{
3129
566
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
566
    return read_while_classic_space(range);
3140
566
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.89k
{
3129
6.89k
    if (!allow_exhaustion) {
3130
6.74k
        auto it = read_while_classic_space(range);
3131
6.74k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.74k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.74k
        return it;
3137
6.74k
    }
3138
3139
158
    return read_while_classic_space(range);
3140
6.89k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
434
{
3129
434
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
434
    return read_while_classic_space(range);
3140
434
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
51.3k
{
3129
51.3k
    if (!allow_exhaustion) {
3130
51.0k
        auto it = read_while_classic_space(range);
3131
51.0k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
51.0k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
51.0k
        return it;
3137
51.0k
    }
3138
3139
376
    return read_while_classic_space(range);
3140
51.3k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
2.20k
{
3129
2.20k
    if (!allow_exhaustion) {
3130
2.20k
        auto it = read_while_classic_space(range);
3131
2.20k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
2.20k
            SCN_UNLIKELY(!e)) {
3133
238
            return unexpected(e);
3134
238
        }
3135
3136
1.96k
        return it;
3137
2.20k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
2.20k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
1.26k
{
3129
1.26k
    if (!allow_exhaustion) {
3130
1.26k
        auto it = read_while_classic_space(range);
3131
1.26k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
1.26k
            SCN_UNLIKELY(!e)) {
3133
116
            return unexpected(e);
3134
116
        }
3135
3136
1.15k
        return it;
3137
1.26k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
1.26k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3141
3142
template <typename SourceCharT, typename DestCharT>
3143
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3144
                                   std::basic_string<DestCharT>& dst)
3145
8.31k
{
3146
8.31k
    dst.clear();
3147
8.31k
    transcode_valid_to_string(src, dst);
3148
8.31k
    return {};
3149
8.31k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3145
1.62k
{
3146
1.62k
    dst.clear();
3147
1.62k
    transcode_valid_to_string(src, dst);
3148
1.62k
    return {};
3149
1.62k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3145
6.68k
{
3146
6.68k
    dst.clear();
3147
6.68k
    transcode_valid_to_string(src, dst);
3148
6.68k
    return {};
3149
6.68k
}
3150
3151
template <typename SourceCharT, typename DestCharT>
3152
scan_expected<void> transcode_if_necessary(
3153
    const contiguous_range_factory<SourceCharT>& source,
3154
    std::basic_string<DestCharT>& dest)
3155
{
3156
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3157
        dest.assign(source.view());
3158
    }
3159
    else {
3160
        return transcode_impl(source.view(), dest);
3161
    }
3162
3163
    return {};
3164
}
3165
3166
template <typename SourceCharT, typename DestCharT>
3167
scan_expected<void> transcode_if_necessary(
3168
    contiguous_range_factory<SourceCharT>&& source,
3169
    std::basic_string<DestCharT>& dest)
3170
1.55k
{
3171
1.55k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
778
        if (source.stores_allocated_string()) {
3173
778
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
778
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
778
    else {
3180
778
        return transcode_impl(source.view(), dest);
3181
778
    }
3182
3183
0
    return {};
3184
1.55k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
482
{
3171
482
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
482
        if (source.stores_allocated_string()) {
3173
482
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
482
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
482
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
482
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
482
    else {
3180
482
        return transcode_impl(source.view(), dest);
3181
482
    }
3182
3183
0
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
296
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
296
    else {
3180
296
        return transcode_impl(source.view(), dest);
3181
296
    }
3182
3183
0
    return {};
3184
296
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
296
{
3171
296
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
296
        if (source.stores_allocated_string()) {
3173
296
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
296
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
296
    return {};
3184
296
}
3185
3186
template <typename SourceCharT, typename DestCharT>
3187
scan_expected<void> transcode_if_necessary(
3188
    string_view_wrapper<SourceCharT> source,
3189
    std::basic_string<DestCharT>& dest)
3190
15.0k
{
3191
15.0k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
7.53k
        dest.assign(source.view());
3193
    }
3194
7.53k
    else {
3195
7.53k
        return transcode_impl(source.view(), dest);
3196
7.53k
    }
3197
3198
0
    return {};
3199
15.0k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
1.14k
{
3191
1.14k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.14k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
1.14k
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
1.14k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
1.14k
    else {
3195
1.14k
        return transcode_impl(source.view(), dest);
3196
1.14k
    }
3197
3198
0
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
6.39k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
6.39k
    else {
3195
6.39k
        return transcode_impl(source.view(), dest);
3196
6.39k
    }
3197
3198
0
    return {};
3199
6.39k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
6.39k
{
3191
6.39k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
6.39k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
6.39k
    return {};
3199
6.39k
}
3200
3201
/////////////////////////////////////////////////////////////////
3202
// Reader base classes etc.
3203
/////////////////////////////////////////////////////////////////
3204
3205
template <typename Derived, typename CharT>
3206
class reader_base {
3207
public:
3208
    using char_type = CharT;
3209
3210
    constexpr reader_base() = default;
3211
3212
    bool skip_ws_before_read() const
3213
32.7k
    {
3214
32.7k
        return true;
3215
32.7k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
2.61k
    {
3214
2.61k
        return true;
3215
2.61k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.32k
    {
3214
1.32k
        return true;
3215
1.32k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
13.5k
    {
3214
13.5k
        return true;
3215
13.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
6.79k
    {
3214
6.79k
        return true;
3215
6.79k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.56k
    {
3214
1.56k
        return true;
3215
1.56k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
6.89k
    {
3214
6.89k
        return true;
3215
6.89k
    }
3216
3217
    scan_expected<void> check_specs(const detail::format_specs& specs)
3218
25.3k
    {
3219
25.3k
        reader_error_handler eh{};
3220
25.3k
        get_derived().check_specs_impl(specs, eh);
3221
25.3k
        if (SCN_UNLIKELY(!eh)) {
3222
9.97k
            return detail::unexpected_scan_error(
3223
9.97k
                scan_error::invalid_format_string, eh.m_msg);
3224
9.97k
        }
3225
15.3k
        return {};
3226
25.3k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
4.75k
    {
3219
4.75k
        reader_error_handler eh{};
3220
4.75k
        get_derived().check_specs_impl(specs, eh);
3221
4.75k
        if (SCN_UNLIKELY(!eh)) {
3222
3.39k
            return detail::unexpected_scan_error(
3223
3.39k
                scan_error::invalid_format_string, eh.m_msg);
3224
3.39k
        }
3225
1.35k
        return {};
3226
4.75k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.37k
    {
3219
2.37k
        reader_error_handler eh{};
3220
2.37k
        get_derived().check_specs_impl(specs, eh);
3221
2.37k
        if (SCN_UNLIKELY(!eh)) {
3222
1.68k
            return detail::unexpected_scan_error(
3223
1.68k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.68k
        }
3225
692
        return {};
3226
2.37k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
7.00k
    {
3219
7.00k
        reader_error_handler eh{};
3220
7.00k
        get_derived().check_specs_impl(specs, eh);
3221
7.00k
        if (SCN_UNLIKELY(!eh)) {
3222
438
            return detail::unexpected_scan_error(
3223
438
                scan_error::invalid_format_string, eh.m_msg);
3224
438
        }
3225
6.57k
        return {};
3226
7.00k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.57k
    {
3219
2.57k
        reader_error_handler eh{};
3220
2.57k
        get_derived().check_specs_impl(specs, eh);
3221
2.57k
        if (SCN_UNLIKELY(!eh)) {
3222
1.24k
            return detail::unexpected_scan_error(
3223
1.24k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.24k
        }
3225
1.33k
        return {};
3226
2.57k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.28k
    {
3219
1.28k
        reader_error_handler eh{};
3220
1.28k
        get_derived().check_specs_impl(specs, eh);
3221
1.28k
        if (SCN_UNLIKELY(!eh)) {
3222
626
            return detail::unexpected_scan_error(
3223
626
                scan_error::invalid_format_string, eh.m_msg);
3224
626
        }
3225
662
        return {};
3226
1.28k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
3.67k
    {
3219
3.67k
        reader_error_handler eh{};
3220
3.67k
        get_derived().check_specs_impl(specs, eh);
3221
3.67k
        if (SCN_UNLIKELY(!eh)) {
3222
630
            return detail::unexpected_scan_error(
3223
630
                scan_error::invalid_format_string, eh.m_msg);
3224
630
        }
3225
3.04k
        return {};
3226
3.67k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.37k
    {
3219
2.37k
        reader_error_handler eh{};
3220
2.37k
        get_derived().check_specs_impl(specs, eh);
3221
2.37k
        if (SCN_UNLIKELY(!eh)) {
3222
1.43k
            return detail::unexpected_scan_error(
3223
1.43k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.43k
        }
3225
938
        return {};
3226
2.37k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.28k
    {
3219
1.28k
        reader_error_handler eh{};
3220
1.28k
        get_derived().check_specs_impl(specs, eh);
3221
1.28k
        if (SCN_UNLIKELY(!eh)) {
3222
518
            return detail::unexpected_scan_error(
3223
518
                scan_error::invalid_format_string, eh.m_msg);
3224
518
        }
3225
770
        return {};
3226
1.28k
    }
3227
3228
private:
3229
    Derived& get_derived()
3230
25.3k
    {
3231
25.3k
        return static_cast<Derived&>(*this);
3232
25.3k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3230
4.75k
    {
3231
4.75k
        return static_cast<Derived&>(*this);
3232
4.75k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3230
2.37k
    {
3231
2.37k
        return static_cast<Derived&>(*this);
3232
2.37k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3230
7.00k
    {
3231
7.00k
        return static_cast<Derived&>(*this);
3232
7.00k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
2.57k
    {
3231
2.57k
        return static_cast<Derived&>(*this);
3232
2.57k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.28k
    {
3231
1.28k
        return static_cast<Derived&>(*this);
3232
1.28k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
3.67k
    {
3231
3.67k
        return static_cast<Derived&>(*this);
3232
3.67k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3230
2.37k
    {
3231
2.37k
        return static_cast<Derived&>(*this);
3232
2.37k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.28k
    {
3231
1.28k
        return static_cast<Derived&>(*this);
3232
1.28k
    }
3233
    const Derived& get_derived() const
3234
    {
3235
        return static_cast<const Derived&>(*this);
3236
    }
3237
};
3238
3239
template <typename CharT>
3240
class reader_impl_for_monostate {
3241
public:
3242
    constexpr reader_impl_for_monostate() = default;
3243
3244
    bool skip_ws_before_read() const
3245
0
    {
3246
0
        return true;
3247
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3248
3249
    static scan_expected<void> check_specs(const detail::format_specs&)
3250
0
    {
3251
0
        SCN_EXPECT(false);
3252
0
        SCN_UNREACHABLE;
3253
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3254
3255
    template <typename Range>
3256
    auto read_default(Range, monostate&, detail::locale_ref)
3257
        -> scan_expected<ranges::const_iterator_t<Range>>
3258
0
    {
3259
0
        SCN_EXPECT(false);
3260
0
        SCN_UNREACHABLE;
3261
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3262
3263
    template <typename Range>
3264
    auto read_specs(Range,
3265
                    const detail::format_specs&,
3266
                    monostate&,
3267
                    detail::locale_ref)
3268
        -> scan_expected<ranges::const_iterator_t<Range>>
3269
0
    {
3270
0
        SCN_EXPECT(false);
3271
0
        SCN_UNREACHABLE;
3272
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3273
};
3274
3275
/////////////////////////////////////////////////////////////////
3276
// Numeric reader support
3277
/////////////////////////////////////////////////////////////////
3278
3279
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3280
3281
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3282
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3283
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3284
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3285
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3286
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3287
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3288
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3289
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3290
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3291
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3292
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3293
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3294
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3295
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3296
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3297
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3298
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3299
    255};
3300
3301
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3302
55.8k
{
3303
55.8k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3304
55.8k
}
3305
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3306
47.0k
{
3307
47.0k
#if WCHAR_MIN < 0
3308
47.0k
    if (ch >= 0 && ch <= 255) {
3309
#else
3310
    if (ch <= 255) {
3311
#endif
3312
46.9k
        return char_to_int(static_cast<char>(ch));
3313
46.9k
    }
3314
102
    return 255;
3315
47.0k
}
3316
3317
template <typename Range>
3318
auto parse_numeric_sign(Range range)
3319
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3320
31.8k
{
3321
31.8k
    auto r = read_one_of_code_unit(range, "+-");
3322
31.8k
    if (!r) {
3323
31.8k
        if (r.error() == parse_error::error) {
3324
31.8k
            return std::pair{range.begin(), sign_type::default_sign};
3325
31.8k
        }
3326
0
        return unexpected(eof_error::eof);
3327
31.8k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
1.40k
{
3321
1.40k
    auto r = read_one_of_code_unit(range, "+-");
3322
1.40k
    if (!r) {
3323
1.40k
        if (r.error() == parse_error::error) {
3324
1.40k
            return std::pair{range.begin(), sign_type::default_sign};
3325
1.40k
        }
3326
0
        return unexpected(eof_error::eof);
3327
1.40k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.67k
{
3321
3.67k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.67k
    if (!r) {
3323
3.67k
        if (r.error() == parse_error::error) {
3324
3.67k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.67k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.67k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
810
{
3321
810
    auto r = read_one_of_code_unit(range, "+-");
3322
810
    if (!r) {
3323
810
        if (r.error() == parse_error::error) {
3324
810
            return std::pair{range.begin(), sign_type::default_sign};
3325
810
        }
3326
0
        return unexpected(eof_error::eof);
3327
810
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
25.9k
{
3321
25.9k
    auto r = read_one_of_code_unit(range, "+-");
3322
25.9k
    if (!r) {
3323
25.9k
        if (r.error() == parse_error::error) {
3324
25.9k
            return std::pair{range.begin(), sign_type::default_sign};
3325
25.9k
        }
3326
0
        return unexpected(eof_error::eof);
3327
25.9k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3335
3336
template <typename CharT>
3337
class numeric_reader {
3338
public:
3339
    contiguous_range_factory<CharT> m_buffer{};
3340
};
3341
3342
/////////////////////////////////////////////////////////////////
3343
// Integer reader
3344
/////////////////////////////////////////////////////////////////
3345
3346
template <typename Iterator>
3347
struct parse_integer_prefix_result {
3348
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3349
    int parsed_base{0};
3350
    sign_type sign{sign_type::default_sign};
3351
    bool is_zero{false};
3352
};
3353
3354
template <typename Range>
3355
auto parse_integer_bin_base_prefix(Range range)
3356
    -> parse_expected<ranges::const_iterator_t<Range>>
3357
212
{
3358
212
    return read_matching_string_classic_nocase(range, "0b");
3359
212
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
40
{
3358
40
    return read_matching_string_classic_nocase(range, "0b");
3359
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
22
{
3358
22
    return read_matching_string_classic_nocase(range, "0b");
3359
22
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
58
{
3358
58
    return read_matching_string_classic_nocase(range, "0b");
3359
58
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
92
{
3358
92
    return read_matching_string_classic_nocase(range, "0b");
3359
92
}
3360
3361
template <typename Range>
3362
auto parse_integer_hex_base_prefix(Range range)
3363
    -> parse_expected<ranges::const_iterator_t<Range>>
3364
7.95k
{
3365
7.95k
    return read_matching_string_classic_nocase(range, "0x");
3366
7.95k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
354
{
3365
354
    return read_matching_string_classic_nocase(range, "0x");
3366
354
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
920
{
3365
920
    return read_matching_string_classic_nocase(range, "0x");
3366
920
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
214
{
3365
214
    return read_matching_string_classic_nocase(range, "0x");
3366
214
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
6.47k
{
3365
6.47k
    return read_matching_string_classic_nocase(range, "0x");
3366
6.47k
}
3367
3368
template <typename Range>
3369
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3370
    -> parse_expected<ranges::const_iterator_t<Range>>
3371
198
{
3372
198
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
198
    if (auto r = read_matching_code_unit(range, '0')) {
3377
34
        zero_parsed = true;
3378
34
        return *r;
3379
34
    }
3380
3381
164
    return unexpected(parse_error::error);
3382
198
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
40
{
3372
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
40
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
40
    return unexpected(parse_error::error);
3382
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
42
{
3372
42
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
42
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
42
    return unexpected(parse_error::error);
3382
42
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
68
{
3372
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
68
    if (auto r = read_matching_code_unit(range, '0')) {
3377
18
        zero_parsed = true;
3378
18
        return *r;
3379
18
    }
3380
3381
50
    return unexpected(parse_error::error);
3382
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
48
{
3372
48
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
48
    if (auto r = read_matching_code_unit(range, '0')) {
3377
16
        zero_parsed = true;
3378
16
        return *r;
3379
16
    }
3380
3381
32
    return unexpected(parse_error::error);
3382
48
}
3383
3384
template <typename Range>
3385
auto parse_integer_base_prefix_for_detection(Range range)
3386
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3387
112
{
3388
112
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
112
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
112
    {
3395
112
        bool zero_parsed{false};
3396
112
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
22
            return {*r, 8, zero_parsed};
3398
22
        }
3399
112
    }
3400
90
    return {range.begin(), 10, false};
3401
112
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
26
{
3388
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
26
    {
3395
26
        bool zero_parsed{false};
3396
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
26
    }
3400
26
    return {range.begin(), 10, false};
3401
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
16
{
3388
16
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
16
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
16
    {
3395
16
        bool zero_parsed{false};
3396
16
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
16
    }
3400
16
    return {range.begin(), 10, false};
3401
16
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
38
{
3388
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
38
    {
3395
38
        bool zero_parsed{false};
3396
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
12
            return {*r, 8, zero_parsed};
3398
12
        }
3399
38
    }
3400
26
    return {range.begin(), 10, false};
3401
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
32
{
3388
32
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
32
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
32
    {
3395
32
        bool zero_parsed{false};
3396
32
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
10
            return {*r, 8, zero_parsed};
3398
10
        }
3399
32
    }
3400
22
    return {range.begin(), 10, false};
3401
32
}
3402
3403
template <typename Range>
3404
auto parse_integer_base_prefix(Range range, int base)
3405
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3406
23.8k
{
3407
23.8k
    switch (base) {
3408
100
        case 2:
3409
            // allow 0b/0B
3410
100
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
100
                    false};
3412
3413
86
        case 8: {
3414
            // allow 0o/0O/0
3415
86
            bool zero_parsed = false;
3416
86
            auto it = apply_opt(
3417
86
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
86
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
7.84k
        case 16:
3422
            // allow 0x/0X
3423
7.84k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
7.84k
                    false};
3425
3426
112
        case 0:
3427
            // detect base
3428
112
            return parse_integer_base_prefix_for_detection(range);
3429
3430
15.7k
        default:
3431
            // no base prefix allowed
3432
15.7k
            return {range.begin(), base, false};
3433
23.8k
    }
3434
23.8k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
1.04k
{
3407
1.04k
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
14
        case 8: {
3414
            // allow 0o/0O/0
3415
14
            bool zero_parsed = false;
3416
14
            auto it = apply_opt(
3417
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
14
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
328
        case 16:
3422
            // allow 0x/0X
3423
328
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
328
                    false};
3425
3426
26
        case 0:
3427
            // detect base
3428
26
            return parse_integer_base_prefix_for_detection(range);
3429
3430
660
        default:
3431
            // no base prefix allowed
3432
660
            return {range.begin(), base, false};
3433
1.04k
    }
3434
1.04k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.75k
{
3407
2.75k
    switch (base) {
3408
6
        case 2:
3409
            // allow 0b/0B
3410
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
6
                    false};
3412
3413
26
        case 8: {
3414
            // allow 0o/0O/0
3415
26
            bool zero_parsed = false;
3416
26
            auto it = apply_opt(
3417
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
26
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
904
        case 16:
3422
            // allow 0x/0X
3423
904
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
904
                    false};
3425
3426
16
        case 0:
3427
            // detect base
3428
16
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.80k
        default:
3431
            // no base prefix allowed
3432
1.80k
            return {range.begin(), base, false};
3433
2.75k
    }
3434
2.75k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
614
{
3407
614
    switch (base) {
3408
20
        case 2:
3409
            // allow 0b/0B
3410
20
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
20
                    false};
3412
3413
30
        case 8: {
3414
            // allow 0o/0O/0
3415
30
            bool zero_parsed = false;
3416
30
            auto it = apply_opt(
3417
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
30
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
176
        case 16:
3422
            // allow 0x/0X
3423
176
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
176
                    false};
3425
3426
38
        case 0:
3427
            // detect base
3428
38
            return parse_integer_base_prefix_for_detection(range);
3429
3430
350
        default:
3431
            // no base prefix allowed
3432
350
            return {range.begin(), base, false};
3433
614
    }
3434
614
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
19.4k
{
3407
19.4k
    switch (base) {
3408
60
        case 2:
3409
            // allow 0b/0B
3410
60
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
60
                    false};
3412
3413
16
        case 8: {
3414
            // allow 0o/0O/0
3415
16
            bool zero_parsed = false;
3416
16
            auto it = apply_opt(
3417
16
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
16
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
6.43k
        case 16:
3422
            // allow 0x/0X
3423
6.43k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
6.43k
                    false};
3425
3426
32
        case 0:
3427
            // detect base
3428
32
            return parse_integer_base_prefix_for_detection(range);
3429
3430
12.8k
        default:
3431
            // no base prefix allowed
3432
12.8k
            return {range.begin(), base, false};
3433
19.4k
    }
3434
19.4k
}
3435
3436
template <typename Range>
3437
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3438
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3439
23.8k
{
3440
23.8k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
23.8k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
23.8k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
23.8k
        parse_integer_base_prefix(
3445
23.8k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
23.8k
    if (parsed_zero) {
3448
34
        if (digits_begin_it == range.end() ||
3449
34
            char_to_int(*digits_begin_it) >= 8) {
3450
34
            digits_begin_it = base_prefix_begin_it;
3451
34
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
34
    }
3456
23.8k
    else {
3457
23.8k
        if (digits_begin_it == range.end() ||
3458
23.8k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
23.6k
            digits_begin_it = base_prefix_begin_it;
3460
23.6k
        }
3461
23.8k
    }
3462
3463
23.8k
    if (sign == sign_type::default_sign) {
3464
23.8k
        sign = sign_type::plus_sign;
3465
23.8k
    }
3466
23.8k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
23.8k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
23.8k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
1.04k
{
3440
1.04k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
1.04k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
1.04k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
1.04k
        parse_integer_base_prefix(
3445
1.04k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
1.04k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
1.04k
    else {
3457
1.04k
        if (digits_begin_it == range.end() ||
3458
1.04k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
1.04k
            digits_begin_it = base_prefix_begin_it;
3460
1.04k
        }
3461
1.04k
    }
3462
3463
1.04k
    if (sign == sign_type::default_sign) {
3464
1.04k
        sign = sign_type::plus_sign;
3465
1.04k
    }
3466
1.04k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
1.04k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
1.04k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.75k
{
3440
2.75k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.75k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.75k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.75k
        parse_integer_base_prefix(
3445
2.75k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.75k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
2.75k
    else {
3457
2.75k
        if (digits_begin_it == range.end() ||
3458
2.75k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.75k
            digits_begin_it = base_prefix_begin_it;
3460
2.75k
        }
3461
2.75k
    }
3462
3463
2.75k
    if (sign == sign_type::default_sign) {
3464
2.75k
        sign = sign_type::plus_sign;
3465
2.75k
    }
3466
2.75k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.75k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.75k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
614
{
3440
614
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
614
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
614
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
614
        parse_integer_base_prefix(
3445
614
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
614
    if (parsed_zero) {
3448
18
        if (digits_begin_it == range.end() ||
3449
18
            char_to_int(*digits_begin_it) >= 8) {
3450
18
            digits_begin_it = base_prefix_begin_it;
3451
18
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
18
    }
3456
596
    else {
3457
596
        if (digits_begin_it == range.end() ||
3458
596
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
550
            digits_begin_it = base_prefix_begin_it;
3460
550
        }
3461
596
    }
3462
3463
614
    if (sign == sign_type::default_sign) {
3464
614
        sign = sign_type::plus_sign;
3465
614
    }
3466
614
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
614
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
614
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
19.4k
{
3440
19.4k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
19.4k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
19.4k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
19.4k
        parse_integer_base_prefix(
3445
19.4k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
19.4k
    if (parsed_zero) {
3448
16
        if (digits_begin_it == range.end() ||
3449
16
            char_to_int(*digits_begin_it) >= 8) {
3450
16
            digits_begin_it = base_prefix_begin_it;
3451
16
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
16
    }
3456
19.4k
    else {
3457
19.4k
        if (digits_begin_it == range.end() ||
3458
19.4k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
19.2k
            digits_begin_it = base_prefix_begin_it;
3460
19.2k
        }
3461
19.4k
    }
3462
3463
19.4k
    if (sign == sign_type::default_sign) {
3464
19.4k
        sign = sign_type::plus_sign;
3465
19.4k
    }
3466
19.4k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
19.4k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
19.4k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3469
3470
template <typename Range>
3471
auto parse_integer_digits_without_thsep(Range range, int base)
3472
    -> scan_expected<ranges::const_iterator_t<Range>>
3473
23.6k
{
3474
23.6k
    SCN_UNUSED(base);
3475
23.6k
    using char_type = detail::char_t<Range>;
3476
3477
23.6k
    if constexpr (ranges::contiguous_range<Range>) {
3478
22.1k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
22.1k
        return range.end();
3484
    }
3485
1.56k
    else {
3486
1.56k
        return read_while1_code_unit(range,
3487
1.58k
                                     [&](char_type ch) noexcept {
3488
1.58k
                                         return char_to_int(ch) < base;
3489
1.58k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3487
1.01k
                                     [&](char_type ch) noexcept {
3488
1.01k
                                         return char_to_int(ch) < base;
3489
1.01k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3487
568
                                     [&](char_type ch) noexcept {
3488
568
                                         return char_to_int(ch) < base;
3489
568
                                     })
3490
1.56k
            .transform_error(map_parse_error_to_scan_error(
3491
1.56k
                scan_error::invalid_scanned_value,
3492
1.56k
                "Failed to parse integer: No digits found"));
3493
1.56k
    }
3494
23.6k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
1.01k
{
3474
1.01k
    SCN_UNUSED(base);
3475
1.01k
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
1.01k
    else {
3486
1.01k
        return read_while1_code_unit(range,
3487
1.01k
                                     [&](char_type ch) noexcept {
3488
1.01k
                                         return char_to_int(ch) < base;
3489
1.01k
                                     })
3490
1.01k
            .transform_error(map_parse_error_to_scan_error(
3491
1.01k
                scan_error::invalid_scanned_value,
3492
1.01k
                "Failed to parse integer: No digits found"));
3493
1.01k
    }
3494
1.01k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.73k
{
3474
2.73k
    SCN_UNUSED(base);
3475
2.73k
    using char_type = detail::char_t<Range>;
3476
3477
2.73k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.73k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.73k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.73k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
544
{
3474
544
    SCN_UNUSED(base);
3475
544
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
544
    else {
3486
544
        return read_while1_code_unit(range,
3487
544
                                     [&](char_type ch) noexcept {
3488
544
                                         return char_to_int(ch) < base;
3489
544
                                     })
3490
544
            .transform_error(map_parse_error_to_scan_error(
3491
544
                scan_error::invalid_scanned_value,
3492
544
                "Failed to parse integer: No digits found"));
3493
544
    }
3494
544
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
19.3k
{
3474
19.3k
    SCN_UNUSED(base);
3475
19.3k
    using char_type = detail::char_t<Range>;
3476
3477
19.3k
    if constexpr (ranges::contiguous_range<Range>) {
3478
19.3k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
19.3k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
19.3k
}
3495
3496
template <typename Range, typename CharT>
3497
auto parse_integer_digits_with_thsep(
3498
    Range range,
3499
    int base,
3500
    const localized_number_formatting_options<CharT>& locale_options)
3501
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3502
                                std::basic_string<CharT>,
3503
                                std::string>>
3504
144
{
3505
144
    std::basic_string<CharT> output;
3506
144
    std::string thsep_indices;
3507
144
    auto it = range.begin();
3508
144
    bool digit_matched = false;
3509
160
    for (; it != range.end(); ++it) {
3510
156
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
156
        else if (char_to_int(*it) >= base) {
3515
140
            break;
3516
140
        }
3517
16
        else {
3518
16
            output.push_back(*it);
3519
16
            digit_matched = true;
3520
16
        }
3521
156
    }
3522
144
    if (SCN_UNLIKELY(!digit_matched)) {
3523
128
        return detail::unexpected_scan_error(
3524
128
            scan_error::invalid_scanned_value,
3525
128
            "Failed to parse integer: No digits found");
3526
128
    }
3527
16
    return std::tuple{it, output, thsep_indices};
3528
144
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
24
{
3505
24
    std::basic_string<CharT> output;
3506
24
    std::string thsep_indices;
3507
24
    auto it = range.begin();
3508
24
    bool digit_matched = false;
3509
24
    for (; it != range.end(); ++it) {
3510
24
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
24
        else if (char_to_int(*it) >= base) {
3515
24
            break;
3516
24
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
24
    }
3522
24
    if (SCN_UNLIKELY(!digit_matched)) {
3523
24
        return detail::unexpected_scan_error(
3524
24
            scan_error::invalid_scanned_value,
3525
24
            "Failed to parse integer: No digits found");
3526
24
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
20
{
3505
20
    std::basic_string<CharT> output;
3506
20
    std::string thsep_indices;
3507
20
    auto it = range.begin();
3508
20
    bool digit_matched = false;
3509
20
    for (; it != range.end(); ++it) {
3510
20
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
20
        else if (char_to_int(*it) >= base) {
3515
20
            break;
3516
20
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
20
    }
3522
20
    if (SCN_UNLIKELY(!digit_matched)) {
3523
20
        return detail::unexpected_scan_error(
3524
20
            scan_error::invalid_scanned_value,
3525
20
            "Failed to parse integer: No digits found");
3526
20
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
20
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
52
{
3505
52
    std::basic_string<CharT> output;
3506
52
    std::string thsep_indices;
3507
52
    auto it = range.begin();
3508
52
    bool digit_matched = false;
3509
60
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
52
    if (SCN_UNLIKELY(!digit_matched)) {
3523
44
        return detail::unexpected_scan_error(
3524
44
            scan_error::invalid_scanned_value,
3525
44
            "Failed to parse integer: No digits found");
3526
44
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
48
{
3505
48
    std::basic_string<CharT> output;
3506
48
    std::string thsep_indices;
3507
48
    auto it = range.begin();
3508
48
    bool digit_matched = false;
3509
56
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
48
    if (SCN_UNLIKELY(!digit_matched)) {
3523
40
        return detail::unexpected_scan_error(
3524
40
            scan_error::invalid_scanned_value,
3525
40
            "Failed to parse integer: No digits found");
3526
40
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
48
}
3529
3530
template <typename CharT, typename T>
3531
auto parse_integer_value(std::basic_string_view<CharT> source,
3532
                         T& value,
3533
                         sign_type sign,
3534
                         int base)
3535
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3536
3537
template <typename T>
3538
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3539
3540
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3541
    extern template auto parse_integer_value(                               \
3542
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3543
        int base)                                                           \
3544
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3545
    extern template void parse_integer_value_exhaustive_valid(              \
3546
        std::string_view, IntT&);
3547
3548
#if !SCN_DISABLE_TYPE_SCHAR
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_SHORT
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_INT
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3559
#endif
3560
#if !SCN_DISABLE_TYPE_LONG
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3563
#endif
3564
#if !SCN_DISABLE_TYPE_LONG_LONG
3565
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3566
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3567
#endif
3568
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3569
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3570
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3571
#endif
3572
#if !SCN_DISABLE_TYPE_UCHAR
3573
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3574
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3575
#endif
3576
#if !SCN_DISABLE_TYPE_USHORT
3577
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3578
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3579
#endif
3580
#if !SCN_DISABLE_TYPE_UINT
3581
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3582
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3583
#endif
3584
#if !SCN_DISABLE_TYPE_ULONG
3585
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3586
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3587
#endif
3588
#if !SCN_DISABLE_TYPE_ULONG_LONG
3589
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3590
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3591
#endif
3592
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3593
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3594
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3595
#endif
3596
3597
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3598
3599
template <typename CharT>
3600
class reader_impl_for_int
3601
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3602
public:
3603
    constexpr reader_impl_for_int() = default;
3604
3605
    void check_specs_impl(const detail::format_specs& specs,
3606
                          reader_error_handler& eh)
3607
7.32k
    {
3608
7.32k
        detail::check_int_type_specs(specs, eh);
3609
7.32k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
4.75k
    {
3608
4.75k
        detail::check_int_type_specs(specs, eh);
3609
4.75k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
2.57k
    {
3608
2.57k
        detail::check_int_type_specs(specs, eh);
3609
2.57k
    }
3610
3611
    template <typename Range, typename T>
3612
    auto read_default_with_base(Range range, T& value, int base)
3613
        -> scan_expected<ranges::const_iterator_t<Range>>
3614
13.3k
    {
3615
13.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
13.3k
                                   .transform_error(make_eof_scan_error));
3617
3618
13.3k
        if constexpr (!std::is_signed_v<T>) {
3619
6.67k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
6.67k
        }
3626
3627
13.3k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
26.7k
        SCN_TRY(after_digits_it,
3633
26.7k
                parse_integer_digits_without_thsep(
3634
26.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
26.7k
                    prefix_result.parsed_base));
3636
3637
26.7k
        auto buf = make_contiguous_buffer(
3638
26.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
26.7k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
26.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
6.04k
    {
3615
6.04k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
6.04k
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
6.04k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
12.0k
        SCN_TRY(after_digits_it,
3633
12.0k
                parse_integer_digits_without_thsep(
3634
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
12.0k
                    prefix_result.parsed_base));
3636
3637
12.0k
        auto buf = make_contiguous_buffer(
3638
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
12.0k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
12.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
6.04k
    {
3615
6.04k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
6.04k
                                   .transform_error(make_eof_scan_error));
3617
3618
6.04k
        if constexpr (!std::is_signed_v<T>) {
3619
6.04k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
6.04k
        }
3626
3627
6.04k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
12.0k
        SCN_TRY(after_digits_it,
3633
12.0k
                parse_integer_digits_without_thsep(
3634
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
12.0k
                    prefix_result.parsed_base));
3636
3637
12.0k
        auto buf = make_contiguous_buffer(
3638
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
12.0k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
12.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
628
    {
3615
628
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
628
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
628
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.25k
        SCN_TRY(after_digits_it,
3633
1.25k
                parse_integer_digits_without_thsep(
3634
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.25k
                    prefix_result.parsed_base));
3636
3637
1.25k
        auto buf = make_contiguous_buffer(
3638
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.25k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
628
    {
3615
628
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
628
                                   .transform_error(make_eof_scan_error));
3617
3618
628
        if constexpr (!std::is_signed_v<T>) {
3619
628
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
628
        }
3626
3627
628
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.25k
        SCN_TRY(after_digits_it,
3633
1.25k
                parse_integer_digits_without_thsep(
3634
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.25k
                    prefix_result.parsed_base));
3636
3637
1.25k
        auto buf = make_contiguous_buffer(
3638
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.25k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3646
3647
    template <typename Range, typename T>
3648
    auto read_default(Range range, T& value, detail::locale_ref loc)
3649
        -> scan_expected<ranges::const_iterator_t<Range>>
3650
13.3k
    {
3651
13.3k
        SCN_UNUSED(loc);
3652
13.3k
        return read_default_with_base(range, value, 10);
3653
13.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
628
    {
3651
628
        SCN_UNUSED(loc);
3652
628
        return read_default_with_base(range, value, 10);
3653
628
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
628
    {
3651
628
        SCN_UNUSED(loc);
3652
628
        return read_default_with_base(range, value, 10);
3653
628
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
6.04k
    {
3651
6.04k
        SCN_UNUSED(loc);
3652
6.04k
        return read_default_with_base(range, value, 10);
3653
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
6.04k
    {
3651
6.04k
        SCN_UNUSED(loc);
3652
6.04k
        return read_default_with_base(range, value, 10);
3653
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3654
3655
    template <typename Range, typename T>
3656
    auto read_specs(Range range,
3657
                    const detail::format_specs& specs,
3658
                    T& value,
3659
                    detail::locale_ref loc)
3660
        -> scan_expected<ranges::const_iterator_t<Range>>
3661
10.4k
    {
3662
10.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
10.4k
                                   .transform_error(make_eof_scan_error));
3664
3665
10.4k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
10.4k
        if (prefix_result.is_zero) {
3683
34
            value = T{0};
3684
34
            return std::next(prefix_result.iterator);
3685
34
        }
3686
3687
10.4k
        if (SCN_LIKELY(!specs.localized)) {
3688
10.3k
            SCN_TRY(after_digits_it,
3689
8.79k
                    parse_integer_digits_without_thsep(
3690
8.79k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
8.79k
                        prefix_result.parsed_base));
3692
3693
8.79k
            auto buf = make_contiguous_buffer(
3694
8.79k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
8.79k
            SCN_TRY(result_it,
3696
160
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
160
                                        prefix_result.parsed_base));
3698
3699
160
            return ranges::next(
3700
160
                prefix_result.iterator,
3701
160
                ranges::distance(buf.view().begin(), result_it));
3702
8.79k
        }
3703
3704
144
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
144
            localized_number_formatting_options<CharT>{loc};
3710
144
#endif
3711
3712
144
        SCN_TRY(parse_digits_result,
3713
16
                parse_integer_digits_with_thsep(
3714
16
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
16
                    prefix_result.parsed_base, locale_options));
3716
16
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
16
            parse_digits_result;
3718
16
        SCN_UNUSED(after_digits_it);
3719
3720
16
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
16
            nothsep_source.data(), nothsep_source.size()};
3722
16
        SCN_TRY(
3723
16
            nothsep_source_it,
3724
16
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
16
                                prefix_result.parsed_base));
3726
3727
16
        return ranges::next(
3728
16
            prefix_result.iterator,
3729
16
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
16
                ranges::ssize(thsep_indices));
3731
16
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
36
    {
3662
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
36
                                   .transform_error(make_eof_scan_error));
3664
3665
36
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
36
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
36
        if (SCN_LIKELY(!specs.localized)) {
3688
36
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
22
    {
3662
22
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
22
                                   .transform_error(make_eof_scan_error));
3664
3665
22
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
22
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
22
        if (SCN_LIKELY(!specs.localized)) {
3688
22
            SCN_TRY(after_digits_it,
3689
22
                    parse_integer_digits_without_thsep(
3690
22
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
22
                        prefix_result.parsed_base));
3692
3693
22
            auto buf = make_contiguous_buffer(
3694
22
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
22
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
22
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
348
    {
3662
348
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
348
                                   .transform_error(make_eof_scan_error));
3664
3665
348
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
348
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
348
        if (SCN_LIKELY(!specs.localized)) {
3688
336
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
292
    {
3662
292
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
292
                                   .transform_error(make_eof_scan_error));
3664
3665
292
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
292
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
292
        if (SCN_LIKELY(!specs.localized)) {
3688
282
            SCN_TRY(after_digits_it,
3689
282
                    parse_integer_digits_without_thsep(
3690
282
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
282
                        prefix_result.parsed_base));
3692
3693
282
            auto buf = make_contiguous_buffer(
3694
282
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
282
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
282
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
348
    {
3662
348
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
348
                                   .transform_error(make_eof_scan_error));
3664
3665
348
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
348
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
348
        if (SCN_LIKELY(!specs.localized)) {
3688
336
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
292
    {
3662
292
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
292
                                   .transform_error(make_eof_scan_error));
3664
3665
292
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
292
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
292
        if (SCN_LIKELY(!specs.localized)) {
3688
282
            SCN_TRY(after_digits_it,
3689
282
                    parse_integer_digits_without_thsep(
3690
282
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
282
                        prefix_result.parsed_base));
3692
3693
282
            auto buf = make_contiguous_buffer(
3694
282
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
282
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
282
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
310
    {
3662
310
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
310
                                   .transform_error(make_eof_scan_error));
3664
3665
310
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
310
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
310
        if (SCN_LIKELY(!specs.localized)) {
3688
310
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
892
    {
3662
892
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
892
                                   .transform_error(make_eof_scan_error));
3664
3665
892
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
892
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
892
        if (SCN_LIKELY(!specs.localized)) {
3688
892
            SCN_TRY(after_digits_it,
3689
892
                    parse_integer_digits_without_thsep(
3690
892
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
892
                        prefix_result.parsed_base));
3692
3693
892
            auto buf = make_contiguous_buffer(
3694
892
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
892
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
892
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
252
    {
3662
252
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
252
                                   .transform_error(make_eof_scan_error));
3664
3665
252
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
252
        if (prefix_result.is_zero) {
3683
12
            value = T{0};
3684
12
            return std::next(prefix_result.iterator);
3685
12
        }
3686
3687
240
        if (SCN_LIKELY(!specs.localized)) {
3688
214
            SCN_TRY(after_digits_it,
3689
16
                    parse_integer_digits_without_thsep(
3690
16
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
16
                        prefix_result.parsed_base));
3692
3693
16
            auto buf = make_contiguous_buffer(
3694
16
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
16
            SCN_TRY(result_it,
3696
16
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
16
                                        prefix_result.parsed_base));
3698
3699
16
            return ranges::next(
3700
16
                prefix_result.iterator,
3701
16
                ranges::distance(buf.view().begin(), result_it));
3702
16
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
486
    {
3662
486
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
486
                                   .transform_error(make_eof_scan_error));
3664
3665
486
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
486
        if (prefix_result.is_zero) {
3683
10
            value = T{0};
3684
10
            return std::next(prefix_result.iterator);
3685
10
        }
3686
3687
476
        if (SCN_LIKELY(!specs.localized)) {
3688
452
            SCN_TRY(after_digits_it,
3689
452
                    parse_integer_digits_without_thsep(
3690
452
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
452
                        prefix_result.parsed_base));
3692
3693
452
            auto buf = make_contiguous_buffer(
3694
452
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
452
            SCN_TRY(result_it,
3696
44
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
44
                                        prefix_result.parsed_base));
3698
3699
44
            return ranges::next(
3700
44
                prefix_result.iterator,
3701
44
                ranges::distance(buf.view().begin(), result_it));
3702
452
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
208
    {
3662
208
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
208
                                   .transform_error(make_eof_scan_error));
3664
3665
208
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
208
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
202
        if (SCN_LIKELY(!specs.localized)) {
3688
176
            SCN_TRY(after_digits_it,
3689
12
                    parse_integer_digits_without_thsep(
3690
12
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
12
                        prefix_result.parsed_base));
3692
3693
12
            auto buf = make_contiguous_buffer(
3694
12
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
12
            SCN_TRY(result_it,
3696
12
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
12
                                        prefix_result.parsed_base));
3698
3699
12
            return ranges::next(
3700
12
                prefix_result.iterator,
3701
12
                ranges::distance(buf.view().begin(), result_it));
3702
12
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
438
    {
3662
438
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
438
                                   .transform_error(make_eof_scan_error));
3664
3665
438
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
438
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
432
        if (SCN_LIKELY(!specs.localized)) {
3688
408
            SCN_TRY(after_digits_it,
3689
408
                    parse_integer_digits_without_thsep(
3690
408
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
408
                        prefix_result.parsed_base));
3692
3693
408
            auto buf = make_contiguous_buffer(
3694
408
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
408
            SCN_TRY(result_it,
3696
40
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
40
                                        prefix_result.parsed_base));
3698
3699
40
            return ranges::next(
3700
40
                prefix_result.iterator,
3701
40
                ranges::distance(buf.view().begin(), result_it));
3702
408
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
154
    {
3662
154
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
154
                                   .transform_error(make_eof_scan_error));
3664
3665
154
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
154
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
154
        if (SCN_LIKELY(!specs.localized)) {
3688
154
            SCN_TRY(after_digits_it,
3689
10
                    parse_integer_digits_without_thsep(
3690
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
10
                        prefix_result.parsed_base));
3692
3693
10
            auto buf = make_contiguous_buffer(
3694
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
10
            SCN_TRY(result_it,
3696
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
10
                                        prefix_result.parsed_base));
3698
3699
10
            return ranges::next(
3700
10
                prefix_result.iterator,
3701
10
                ranges::distance(buf.view().begin(), result_it));
3702
10
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
6.41k
    {
3662
6.41k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
6.41k
                                   .transform_error(make_eof_scan_error));
3664
3665
6.41k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
6.41k
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
6.41k
        if (SCN_LIKELY(!specs.localized)) {
3688
6.41k
            SCN_TRY(after_digits_it,
3689
6.41k
                    parse_integer_digits_without_thsep(
3690
6.41k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
6.41k
                        prefix_result.parsed_base));
3692
3693
6.41k
            auto buf = make_contiguous_buffer(
3694
6.41k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
6.41k
            SCN_TRY(result_it,
3696
38
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
38
                                        prefix_result.parsed_base));
3698
3699
38
            return ranges::next(
3700
38
                prefix_result.iterator,
3701
38
                ranges::distance(buf.view().begin(), result_it));
3702
6.41k
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3732
};
3733
3734
/////////////////////////////////////////////////////////////////
3735
// Floating-point reader
3736
/////////////////////////////////////////////////////////////////
3737
3738
struct float_reader_base {
3739
    enum options_type {
3740
        allow_hex = 1,
3741
        allow_scientific = 2,
3742
        allow_fixed = 4,
3743
        allow_thsep = 8
3744
    };
3745
3746
    enum class float_kind {
3747
        tbd = 0,
3748
        generic,             // fixed or scientific
3749
        fixed,               // xxx.yyy
3750
        scientific,          // xxx.yyyEzzz
3751
        hex_without_prefix,  // xxx.yyypzzz
3752
        hex_with_prefix,     // 0Xxxx.yyypzzz
3753
        inf_short,           // inf
3754
        inf_long,            // infinity
3755
        nan_simple,          // nan
3756
        nan_with_payload,    // nan(xxx)
3757
    };
3758
3759
6.67k
    constexpr float_reader_base() = default;
3760
1.29k
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3761
3762
protected:
3763
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3764
};
3765
3766
template <typename CharT>
3767
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3768
    using numeric_base = numeric_reader<CharT>;
3769
3770
public:
3771
    using char_type = CharT;
3772
3773
6.67k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3773
628
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3773
6.04k
    constexpr float_reader() = default;
3774
3775
1.29k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3775
654
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3775
642
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3776
3777
    template <typename Range>
3778
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3779
        -> scan_expected<ranges::const_iterator_t<Range>>
3780
7.92k
    {
3781
7.92k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
7.92k
        return read_source_impl(range);
3787
7.92k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
348
    {
3781
348
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
348
        return read_source_impl(range);
3787
348
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
916
    {
3781
916
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
916
        return read_source_impl(range);
3787
916
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
180
    {
3781
180
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
180
        return read_source_impl(range);
3787
180
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
6.47k
    {
3781
6.47k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
6.47k
        return read_source_impl(range);
3787
6.47k
    }
3788
3789
#if !SCN_DISABLE_LOCALE
3790
    template <typename Range>
3791
    SCN_NODISCARD auto read_source_localized(Range range,
3792
                                             detail::locale_ref loc)
3793
        -> scan_expected<ranges::const_iterator_t<Range>>
3794
50
    {
3795
50
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
50
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
50
        return read_source_impl(range);
3801
50
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
12
    {
3795
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
12
        return read_source_impl(range);
3801
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
6
    {
3795
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
6
        return read_source_impl(range);
3801
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
3802
#endif
3803
3804
    template <typename T>
3805
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3806
7.39k
    {
3807
7.39k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
7.39k
        const std::ptrdiff_t sign_len =
3810
7.39k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
7.39k
        SCN_TRY(n, parse_value_impl(value));
3813
88
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
7.39k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3806
900
    {
3807
900
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
900
        const std::ptrdiff_t sign_len =
3810
900
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
900
        SCN_TRY(n, parse_value_impl(value));
3813
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
900
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3806
6.49k
    {
3807
6.49k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
6.49k
        const std::ptrdiff_t sign_len =
3810
6.49k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
6.49k
        SCN_TRY(n, parse_value_impl(value));
3813
88
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
6.49k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3815
3816
private:
3817
    template <typename Range>
3818
    auto read_source_impl(Range range)
3819
        -> scan_expected<ranges::const_iterator_t<Range>>
3820
7.97k
    {
3821
7.97k
        SCN_TRY(sign_result,
3822
7.97k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
7.97k
        auto it = sign_result.first;
3824
7.97k
        m_sign = sign_result.second;
3825
3826
7.97k
        auto digits_begin = it;
3827
7.97k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
7.41k
                      ranges::sized_range<Range>) {
3830
7.41k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
7.41k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
7.41k
            else {
3840
7.41k
                auto cb = [&](const auto& rr)
3841
7.41k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
7.37k
                    auto res = read_all(rr);
3843
7.37k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
7.37k
                    return res;
3849
7.37k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
900
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
900
                    auto res = read_all(rr);
3843
900
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
900
                    return res;
3849
900
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
6.47k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
6.47k
                    auto res = read_all(rr);
3843
6.47k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
6.47k
                    return res;
3849
6.47k
                };
3850
7.41k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
7.37k
            }
3852
        }
3853
556
        else {
3854
556
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
7.97k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
7.39k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
7.39k
            m_kind != float_kind::nan_simple &&
3865
7.39k
            m_kind != float_kind::nan_with_payload) {
3866
7.39k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
7.39k
        }
3868
3869
7.39k
        handle_separators();
3870
3871
7.39k
        return it;
3872
7.97k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
360
    {
3821
360
        SCN_TRY(sign_result,
3822
360
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
360
        auto it = sign_result.first;
3824
360
        m_sign = sign_result.second;
3825
3826
360
        auto digits_begin = it;
3827
360
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
360
        else {
3854
360
            SCN_TRY_ASSIGN(
3855
0
                it,
3856
0
                do_read_source_impl(
3857
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
0
        }
3860
3861
360
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
0
            m_kind != float_kind::nan_simple &&
3865
0
            m_kind != float_kind::nan_with_payload) {
3866
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
0
        }
3868
3869
0
        handle_separators();
3870
3871
0
        return it;
3872
360
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
922
    {
3821
922
        SCN_TRY(sign_result,
3822
922
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
922
        auto it = sign_result.first;
3824
922
        m_sign = sign_result.second;
3825
3826
922
        auto digits_begin = it;
3827
922
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
922
                      ranges::sized_range<Range>) {
3830
922
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
922
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
922
            else {
3840
922
                auto cb = [&](const auto& rr)
3841
922
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
922
                    auto res = read_all(rr);
3843
922
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
922
                        return detail::unexpected_scan_error(
3845
922
                            scan_error::invalid_scanned_value,
3846
922
                            "Invalid float value");
3847
922
                    }
3848
922
                    return res;
3849
922
                };
3850
922
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
900
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
922
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
900
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
900
            m_kind != float_kind::nan_simple &&
3865
900
            m_kind != float_kind::nan_with_payload) {
3866
900
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
900
        }
3868
3869
900
        handle_separators();
3870
3871
900
        return it;
3872
922
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
196
    {
3821
196
        SCN_TRY(sign_result,
3822
196
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
196
        auto it = sign_result.first;
3824
196
        m_sign = sign_result.second;
3825
3826
196
        auto digits_begin = it;
3827
196
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
196
        else {
3854
196
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
196
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
20
            m_kind != float_kind::nan_simple &&
3865
20
            m_kind != float_kind::nan_with_payload) {
3866
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
20
        }
3868
3869
20
        handle_separators();
3870
3871
20
        return it;
3872
196
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
6.49k
    {
3821
6.49k
        SCN_TRY(sign_result,
3822
6.49k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
6.49k
        auto it = sign_result.first;
3824
6.49k
        m_sign = sign_result.second;
3825
3826
6.49k
        auto digits_begin = it;
3827
6.49k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
6.49k
                      ranges::sized_range<Range>) {
3830
6.49k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
6.49k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
6.49k
            else {
3840
6.49k
                auto cb = [&](const auto& rr)
3841
6.49k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
6.49k
                    auto res = read_all(rr);
3843
6.49k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
6.49k
                        return detail::unexpected_scan_error(
3845
6.49k
                            scan_error::invalid_scanned_value,
3846
6.49k
                            "Invalid float value");
3847
6.49k
                    }
3848
6.49k
                    return res;
3849
6.49k
                };
3850
6.49k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
6.47k
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
6.49k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
6.47k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
6.47k
            m_kind != float_kind::nan_simple &&
3865
6.47k
            m_kind != float_kind::nan_with_payload) {
3866
6.47k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
6.47k
        }
3868
3869
6.47k
        handle_separators();
3870
3871
6.47k
        return it;
3872
6.49k
    }
3873
3874
    template <typename Range>
3875
    auto read_dec_digits(Range range, bool thsep_allowed)
3876
        -> parse_expected<ranges::const_iterator_t<Range>>
3877
590
    {
3878
590
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
590
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3884
0
        }
3885
3886
590
        return read_while1_code_unit(
3887
598
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3887
352
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3887
196
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3887
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
590
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
352
    {
3878
352
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
352
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
352
        return read_while1_code_unit(
3887
352
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
352
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
22
    {
3878
22
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
22
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
22
        return read_while1_code_unit(
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
192
    {
3878
192
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
192
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
192
        return read_while1_code_unit(
3887
192
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
192
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
24
    {
3878
24
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
24
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
24
        return read_while1_code_unit(
3887
24
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
24
    }
3889
    template <typename Range>
3890
    auto read_hex_digits(Range range, bool thsep_allowed)
3891
        -> parse_expected<ranges::const_iterator_t<Range>>
3892
34
    {
3893
34
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
34
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3899
0
        }
3900
3901
34
        return read_while1_code_unit(
3902
36
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3902
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3903
34
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
8
    {
3893
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
8
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
8
        return read_while1_code_unit(
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
26
    {
3893
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
26
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
26
        return read_while1_code_unit(
3902
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3904
    template <typename Range>
3905
    auto read_hex_prefix(Range range)
3906
        -> parse_expected<ranges::const_iterator_t<Range>>
3907
7.88k
    {
3908
7.88k
        return read_matching_string_classic_nocase(range, "0x");
3909
7.88k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
328
    {
3908
328
        return read_matching_string_classic_nocase(range, "0x");
3909
328
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
900
    {
3908
900
        return read_matching_string_classic_nocase(range, "0x");
3909
900
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
184
    {
3908
184
        return read_matching_string_classic_nocase(range, "0x");
3909
184
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
6.47k
    {
3908
6.47k
        return read_matching_string_classic_nocase(range, "0x");
3909
6.47k
    }
3910
3911
    template <typename Range>
3912
    auto read_inf(Range range)
3913
        -> parse_expected<ranges::const_iterator_t<Range>>
3914
7.97k
    {
3915
7.97k
        auto it = range.begin();
3916
7.97k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
7.97k
            return unexpected(r.error());
3918
7.97k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
360
    {
3915
360
        auto it = range.begin();
3916
360
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
360
            return unexpected(r.error());
3918
360
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
922
    {
3915
922
        auto it = range.begin();
3916
922
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
922
            return unexpected(r.error());
3918
922
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
196
    {
3915
196
        auto it = range.begin();
3916
196
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
196
            return unexpected(r.error());
3918
196
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
6.49k
    {
3915
6.49k
        auto it = range.begin();
3916
6.49k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
6.49k
            return unexpected(r.error());
3918
6.49k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
3934
3935
    template <typename Range>
3936
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3937
7.97k
    {
3938
7.97k
        auto it = range.begin();
3939
7.97k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
7.97k
            return r.transform_error(map_parse_error_to_scan_error(
3941
7.97k
                scan_error::invalid_scanned_value,
3942
7.97k
                "Invalid floating-point NaN value"));
3943
7.97k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
360
    {
3938
360
        auto it = range.begin();
3939
360
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
360
            return r.transform_error(map_parse_error_to_scan_error(
3941
360
                scan_error::invalid_scanned_value,
3942
360
                "Invalid floating-point NaN value"));
3943
360
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
922
    {
3938
922
        auto it = range.begin();
3939
922
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
922
            return r.transform_error(map_parse_error_to_scan_error(
3941
922
                scan_error::invalid_scanned_value,
3942
922
                "Invalid floating-point NaN value"));
3943
922
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
196
    {
3938
196
        auto it = range.begin();
3939
196
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
196
            return r.transform_error(map_parse_error_to_scan_error(
3941
196
                scan_error::invalid_scanned_value,
3942
196
                "Invalid floating-point NaN value"));
3943
196
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
6.49k
    {
3938
6.49k
        auto it = range.begin();
3939
6.49k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
6.49k
            return r.transform_error(map_parse_error_to_scan_error(
3941
6.49k
                scan_error::invalid_scanned_value,
3942
6.49k
                "Invalid floating-point NaN value"));
3943
6.49k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
3976
3977
    template <typename Range>
3978
    auto read_exponent(Range range, std::string_view exp)
3979
        -> ranges::const_iterator_t<Range>
3980
22
    {
3981
22
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
22
        return range.begin();
4003
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3980
20
    {
3981
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
20
        return range.begin();
4003
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3980
2
    {
3981
2
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
2
        return range.begin();
4003
2
    }
4004
4005
    template <typename Range>
4006
    auto read_hexfloat(Range range)
4007
        -> scan_expected<ranges::const_iterator_t<Range>>
4008
28
    {
4009
28
        auto it = range.begin();
4010
4011
28
        std::ptrdiff_t digits_count = 0;
4012
28
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
28
            SCN_UNLIKELY(!r)) {
4014
22
            return r.transform_error(map_parse_error_to_scan_error(
4015
22
                scan_error::invalid_scanned_value,
4016
22
                "Invalid hexadecimal floating-point value"));
4017
22
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
8
    {
4009
8
        auto it = range.begin();
4010
4011
8
        std::ptrdiff_t digits_count = 0;
4012
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
8
            SCN_UNLIKELY(!r)) {
4014
8
            return r.transform_error(map_parse_error_to_scan_error(
4015
8
                scan_error::invalid_scanned_value,
4016
8
                "Invalid hexadecimal floating-point value"));
4017
8
        }
4018
0
        else {
4019
0
            digits_count += ranges::distance(it, *r);
4020
0
            it = *r;
4021
0
        }
4022
4023
0
        m_integral_part_length = digits_count;
4024
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
0
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
0
        if (auto r =
4030
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
0
        return it;
4044
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
20
    {
4009
20
        auto it = range.begin();
4010
4011
20
        std::ptrdiff_t digits_count = 0;
4012
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
20
            SCN_UNLIKELY(!r)) {
4014
14
            return r.transform_error(map_parse_error_to_scan_error(
4015
14
                scan_error::invalid_scanned_value,
4016
14
                "Invalid hexadecimal floating-point value"));
4017
14
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4045
4046
    template <typename Range>
4047
    auto read_regular_float(Range range)
4048
        -> scan_expected<ranges::const_iterator_t<Range>>
4049
570
    {
4050
570
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
570
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
570
        auto it = ranges::begin(range);
4054
570
        std::ptrdiff_t digits_count = 0;
4055
4056
570
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
570
            SCN_UNLIKELY(!r)) {
4058
550
            return r.transform_error(
4059
550
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
550
                                              "Invalid floating-point value"));
4061
550
        }
4062
20
        else {
4063
20
            digits_count += ranges::distance(it, *r);
4064
20
            it = *r;
4065
20
        }
4066
4067
20
        m_integral_part_length = digits_count;
4068
20
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
20
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
20
        if (auto r =
4074
20
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
20
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
20
        auto beg_exp_it = it;
4086
20
        if (allowed_exp) {
4087
16
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
16
        }
4089
20
        if (required_exp && beg_exp_it == it) {
4090
4
            return detail::unexpected_scan_error(
4091
4
                scan_error::invalid_scanned_value,
4092
4
                "No exponent given to scientific float");
4093
4
        }
4094
4095
16
        m_kind =
4096
16
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
16
        return it;
4099
20
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
352
    {
4050
352
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
352
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
352
        auto it = ranges::begin(range);
4054
352
        std::ptrdiff_t digits_count = 0;
4055
4056
352
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
352
            SCN_UNLIKELY(!r)) {
4058
352
            return r.transform_error(
4059
352
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
352
                                              "Invalid floating-point value"));
4061
352
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
22
    {
4050
22
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
22
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
22
        auto it = ranges::begin(range);
4054
22
        std::ptrdiff_t digits_count = 0;
4055
4056
22
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
22
            SCN_UNLIKELY(!r)) {
4058
22
            return r.transform_error(
4059
22
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
22
                                              "Invalid floating-point value"));
4061
22
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
176
    {
4050
176
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
176
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
176
        auto it = ranges::begin(range);
4054
176
        std::ptrdiff_t digits_count = 0;
4055
4056
176
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
176
            SCN_UNLIKELY(!r)) {
4058
160
            return r.transform_error(
4059
160
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
160
                                              "Invalid floating-point value"));
4061
160
        }
4062
16
        else {
4063
16
            digits_count += ranges::distance(it, *r);
4064
16
            it = *r;
4065
16
        }
4066
4067
16
        m_integral_part_length = digits_count;
4068
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
16
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
16
        if (auto r =
4074
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
16
        auto beg_exp_it = it;
4086
16
        if (allowed_exp) {
4087
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
14
        }
4089
16
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
14
        m_kind =
4096
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
14
        return it;
4099
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
20
    {
4050
20
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
20
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
20
        auto it = ranges::begin(range);
4054
20
        std::ptrdiff_t digits_count = 0;
4055
4056
20
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
20
            SCN_UNLIKELY(!r)) {
4058
16
            return r.transform_error(
4059
16
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
16
                                              "Invalid floating-point value"));
4061
16
        }
4062
4
        else {
4063
4
            digits_count += ranges::distance(it, *r);
4064
4
            it = *r;
4065
4
        }
4066
4067
4
        m_integral_part_length = digits_count;
4068
4
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
4
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
4
        if (auto r =
4074
4
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
4
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
4
        auto beg_exp_it = it;
4086
4
        if (allowed_exp) {
4087
2
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
2
        }
4089
4
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
2
        m_kind =
4096
2
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
2
        return it;
4099
4
    }
4100
4101
    template <typename Range, typename ReadRegular, typename ReadHex>
4102
    auto do_read_source_impl(Range range,
4103
                             ReadRegular&& read_regular,
4104
                             ReadHex&& read_hex)
4105
        -> scan_expected<ranges::const_iterator_t<Range>>
4106
7.97k
    {
4107
7.97k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
7.97k
        const bool allowed_nonhex =
4109
7.97k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
7.97k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
7.97k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
7.97k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
7.97k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
7.97k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
7.97k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
84
            auto it = range.begin();
4132
4133
84
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
84
            else {
4138
84
                m_kind = float_kind::hex_without_prefix;
4139
84
            }
4140
4141
84
            return read_hex(ranges::subrange{it, range.end()});
4142
84
        }
4143
7.88k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
86
            m_kind = float_kind::generic;
4147
86
            return read_regular_float(range);
4148
86
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
7.80k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
7.80k
        m_kind = float_kind::generic;
4159
7.80k
        return read_regular(range);
4160
7.80k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
360
    {
4107
360
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
360
        const bool allowed_nonhex =
4109
360
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
360
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
360
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
360
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
360
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
360
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
360
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
352
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
32
            m_kind = float_kind::generic;
4147
32
            return read_regular_float(range);
4148
32
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
320
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
320
        m_kind = float_kind::generic;
4159
320
        return read_regular(range);
4160
320
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
922
    {
4107
922
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
922
        const bool allowed_nonhex =
4109
922
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
922
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
922
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
922
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
922
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
922
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
922
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
914
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
22
            m_kind = float_kind::generic;
4147
22
            return read_regular_float(range);
4148
22
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
892
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
892
        m_kind = float_kind::generic;
4159
892
        return read_regular(range);
4160
892
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
196
    {
4107
196
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
196
        const bool allowed_nonhex =
4109
196
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
196
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
196
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
196
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
196
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
196
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
196
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
20
            auto it = range.begin();
4132
4133
20
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
20
            else {
4138
20
                m_kind = float_kind::hex_without_prefix;
4139
20
            }
4140
4141
20
            return read_hex(ranges::subrange{it, range.end()});
4142
20
        }
4143
176
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
12
            m_kind = float_kind::generic;
4147
12
            return read_regular_float(range);
4148
12
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
164
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
164
        m_kind = float_kind::generic;
4159
164
        return read_regular(range);
4160
164
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
6.49k
    {
4107
6.49k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
6.49k
        const bool allowed_nonhex =
4109
6.49k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
6.49k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
6.49k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
6.49k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
6.49k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
6.49k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
6.49k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
48
            auto it = range.begin();
4132
4133
48
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
48
            else {
4138
48
                m_kind = float_kind::hex_without_prefix;
4139
48
            }
4140
4141
48
            return read_hex(ranges::subrange{it, range.end()});
4142
48
        }
4143
6.44k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
20
            m_kind = float_kind::generic;
4147
20
            return read_regular_float(range);
4148
20
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
6.42k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
6.42k
        m_kind = float_kind::generic;
4159
6.42k
        return read_regular(range);
4160
6.42k
    }
4161
4162
    void handle_separators()
4163
7.39k
    {
4164
7.39k
        if (m_locale_options.thousands_sep == 0 &&
4165
7.39k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
7.39k
            return;
4167
7.39k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4163
900
    {
4164
900
        if (m_locale_options.thousands_sep == 0 &&
4165
900
            m_locale_options.decimal_point == CharT{'.'}) {
4166
900
            return;
4167
900
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4163
6.49k
    {
4164
6.49k
        if (m_locale_options.thousands_sep == 0 &&
4165
6.49k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
6.49k
            return;
4167
6.49k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
4203
4204
    template <typename T>
4205
    T setsign(T value) const
4206
88
    {
4207
88
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
88
        return std::copysign(value, static_cast<T>(1.0));
4211
88
    }
Unexecuted instantiation: float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Unexecuted instantiation: double scn::v4::impl::float_reader<char>::setsign<double>(double) const
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4206
88
    {
4207
88
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
88
        return std::copysign(value, static_cast<T>(1.0));
4211
88
    }
Unexecuted instantiation: long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4212
4213
    template <typename T>
4214
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4215
4216
    localized_number_formatting_options<CharT> m_locale_options{};
4217
    std::string m_thsep_indices{};
4218
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4219
    std::ptrdiff_t m_integral_part_length{-1};
4220
    sign_type m_sign{sign_type::default_sign};
4221
    float_kind m_kind{float_kind::tbd};
4222
};
4223
4224
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4225
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4226
        -> scan_expected<std::ptrdiff_t>;
4227
4228
#if !SCN_DISABLE_TYPE_FLOAT
4229
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4230
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4231
#endif
4232
#if !SCN_DISABLE_TYPE_DOUBLE
4233
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4234
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4235
#endif
4236
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4237
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4238
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4239
#endif
4240
4241
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4242
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4243
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4244
#endif
4245
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4246
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4247
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4248
#endif
4249
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4250
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4251
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4252
#endif
4253
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4254
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4255
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4256
#endif
4257
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4258
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4259
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4260
#endif
4261
4262
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4263
4264
template <typename CharT>
4265
class reader_impl_for_float
4266
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4267
public:
4268
    constexpr reader_impl_for_float() = default;
4269
4270
    void check_specs_impl(const detail::format_specs& specs,
4271
                          reader_error_handler& eh)
4272
3.66k
    {
4273
3.66k
        detail::check_float_type_specs(specs, eh);
4274
3.66k
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
2.37k
    {
4273
2.37k
        detail::check_float_type_specs(specs, eh);
4274
2.37k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
1.28k
    {
4273
1.28k
        detail::check_float_type_specs(specs, eh);
4274
1.28k
    }
4275
4276
    template <typename Range, typename T>
4277
    auto read_default(Range range, T& value, detail::locale_ref loc)
4278
        -> scan_expected<ranges::const_iterator_t<Range>>
4279
6.67k
    {
4280
6.67k
        SCN_UNUSED(loc);
4281
4282
6.67k
        float_reader<CharT> rd{};
4283
6.67k
        return read_impl<Range>(
4284
6.67k
            range, rd,
4285
6.67k
            [](float_reader<CharT>& r, auto&&... args) {
4286
6.67k
                return r.read_source(SCN_FWD(args)...);
4287
6.67k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
628
            [](float_reader<CharT>& r, auto&&... args) {
4286
628
                return r.read_source(SCN_FWD(args)...);
4287
628
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
6.04k
            [](float_reader<CharT>& r, auto&&... args) {
4286
6.04k
                return r.read_source(SCN_FWD(args)...);
4287
6.04k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4288
6.67k
            value);
4289
6.67k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
628
    {
4280
628
        SCN_UNUSED(loc);
4281
4282
628
        float_reader<CharT> rd{};
4283
628
        return read_impl<Range>(
4284
628
            range, rd,
4285
628
            [](float_reader<CharT>& r, auto&&... args) {
4286
628
                return r.read_source(SCN_FWD(args)...);
4287
628
            },
4288
628
            value);
4289
628
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
6.04k
    {
4280
6.04k
        SCN_UNUSED(loc);
4281
4282
6.04k
        float_reader<CharT> rd{};
4283
6.04k
        return read_impl<Range>(
4284
6.04k
            range, rd,
4285
6.04k
            [](float_reader<CharT>& r, auto&&... args) {
4286
6.04k
                return r.read_source(SCN_FWD(args)...);
4287
6.04k
            },
4288
6.04k
            value);
4289
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4290
4291
    template <typename Range, typename T>
4292
    auto read_specs(Range range,
4293
                    const detail::format_specs& specs,
4294
                    T& value,
4295
                    detail::locale_ref loc)
4296
        -> scan_expected<ranges::const_iterator_t<Range>>
4297
1.29k
    {
4298
1.29k
        float_reader<CharT> rd{get_options(specs)};
4299
4300
1.29k
#if !SCN_DISABLE_LOCALE
4301
1.29k
        if (specs.localized) {
4302
50
            return read_impl<Range>(
4303
50
                range, rd,
4304
50
                [](float_reader<CharT>& r, auto&&... args) {
4305
50
                    return r.read_source_localized(SCN_FWD(args)...);
4306
50
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4307
50
                value, loc);
4308
50
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
1.24k
        return read_impl<Range>(
4314
1.24k
            range, rd,
4315
1.24k
            [](float_reader<CharT>& r, auto&&... args) {
4316
1.24k
                return r.read_source(SCN_FWD(args)...);
4317
1.24k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
348
            [](float_reader<CharT>& r, auto&&... args) {
4316
348
                return r.read_source(SCN_FWD(args)...);
4317
348
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
288
            [](float_reader<CharT>& r, auto&&... args) {
4316
288
                return r.read_source(SCN_FWD(args)...);
4317
288
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
180
            [](float_reader<CharT>& r, auto&&... args) {
4316
180
                return r.read_source(SCN_FWD(args)...);
4317
180
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
430
            [](float_reader<CharT>& r, auto&&... args) {
4316
430
                return r.read_source(SCN_FWD(args)...);
4317
430
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4318
1.24k
            value);
4319
1.29k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
360
    {
4298
360
        float_reader<CharT> rd{get_options(specs)};
4299
4300
360
#if !SCN_DISABLE_LOCALE
4301
360
        if (specs.localized) {
4302
12
            return read_impl<Range>(
4303
12
                range, rd,
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
4307
12
                value, loc);
4308
12
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
348
        return read_impl<Range>(
4314
348
            range, rd,
4315
348
            [](float_reader<CharT>& r, auto&&... args) {
4316
348
                return r.read_source(SCN_FWD(args)...);
4317
348
            },
4318
348
            value);
4319
360
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
294
    {
4298
294
        float_reader<CharT> rd{get_options(specs)};
4299
4300
294
#if !SCN_DISABLE_LOCALE
4301
294
        if (specs.localized) {
4302
6
            return read_impl<Range>(
4303
6
                range, rd,
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
4307
6
                value, loc);
4308
6
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
288
        return read_impl<Range>(
4314
288
            range, rd,
4315
288
            [](float_reader<CharT>& r, auto&&... args) {
4316
288
                return r.read_source(SCN_FWD(args)...);
4317
288
            },
4318
288
            value);
4319
294
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
196
    {
4298
196
        float_reader<CharT> rd{get_options(specs)};
4299
4300
196
#if !SCN_DISABLE_LOCALE
4301
196
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
180
        return read_impl<Range>(
4314
180
            range, rd,
4315
180
            [](float_reader<CharT>& r, auto&&... args) {
4316
180
                return r.read_source(SCN_FWD(args)...);
4317
180
            },
4318
180
            value);
4319
196
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
446
    {
4298
446
        float_reader<CharT> rd{get_options(specs)};
4299
4300
446
#if !SCN_DISABLE_LOCALE
4301
446
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
430
        return read_impl<Range>(
4314
430
            range, rd,
4315
430
            [](float_reader<CharT>& r, auto&&... args) {
4316
430
                return r.read_source(SCN_FWD(args)...);
4317
430
            },
4318
430
            value);
4319
446
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4320
4321
private:
4322
    template <typename Range>
4323
    using read_source_callback_type =
4324
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4325
                                                       Range,
4326
                                                       detail::locale_ref);
4327
4328
    template <typename Range, typename T>
4329
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4330
        Range range,
4331
        float_reader<CharT>& rd,
4332
        function_ref<read_source_callback_type<Range>> read_source_cb,
4333
        T& value,
4334
        detail::locale_ref loc = {})
4335
7.97k
    {
4336
7.97k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
7.97k
            SCN_UNLIKELY(!r)) {
4338
576
            return unexpected(r.error());
4339
576
        }
4340
4341
7.39k
        SCN_TRY(n, rd.parse_value(value));
4342
88
        return ranges::next(range.begin(), n);
4343
7.39k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
360
    {
4336
360
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
360
            SCN_UNLIKELY(!r)) {
4338
360
            return unexpected(r.error());
4339
360
        }
4340
4341
0
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
922
    {
4336
922
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
922
            SCN_UNLIKELY(!r)) {
4338
22
            return unexpected(r.error());
4339
22
        }
4340
4341
900
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
900
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
196
    {
4336
196
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
196
            SCN_UNLIKELY(!r)) {
4338
176
            return unexpected(r.error());
4339
176
        }
4340
4341
20
        SCN_TRY(n, rd.parse_value(value));
4342
20
        return ranges::next(range.begin(), n);
4343
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
6.49k
    {
4336
6.49k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
6.49k
            SCN_UNLIKELY(!r)) {
4338
18
            return unexpected(r.error());
4339
18
        }
4340
4341
6.47k
        SCN_TRY(n, rd.parse_value(value));
4342
68
        return ranges::next(range.begin(), n);
4343
6.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4344
4345
    static unsigned get_options(const detail::format_specs& specs)
4346
1.29k
    {
4347
1.29k
        unsigned options{};
4348
1.29k
        if (specs.localized) {
4349
50
            options |= float_reader_base::allow_thsep;
4350
50
        }
4351
4352
1.29k
        SCN_GCC_COMPAT_PUSH
4353
1.29k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
1.29k
        switch (specs.type) {
4356
48
            case detail::presentation_type::float_fixed:
4357
48
                return options | float_reader_base::allow_fixed;
4358
4359
24
            case detail::presentation_type::float_scientific:
4360
24
                return options | float_reader_base::allow_scientific;
4361
4362
84
            case detail::presentation_type::float_hex:
4363
84
                return options | float_reader_base::allow_hex;
4364
4365
14
            case detail::presentation_type::float_general:
4366
14
                return options | float_reader_base::allow_scientific |
4367
14
                       float_reader_base::allow_fixed;
4368
4369
1.12k
            case detail::presentation_type::none:
4370
1.12k
                return options | float_reader_base::allow_scientific |
4371
1.12k
                       float_reader_base::allow_fixed |
4372
1.12k
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
1.29k
                SCN_UNREACHABLE;
4377
1.29k
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
1.29k
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
654
    {
4347
654
        unsigned options{};
4348
654
        if (specs.localized) {
4349
18
            options |= float_reader_base::allow_thsep;
4350
18
        }
4351
4352
654
        SCN_GCC_COMPAT_PUSH
4353
654
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
654
        switch (specs.type) {
4356
28
            case detail::presentation_type::float_fixed:
4357
28
                return options | float_reader_base::allow_fixed;
4358
4359
14
            case detail::presentation_type::float_scientific:
4360
14
                return options | float_reader_base::allow_scientific;
4361
4362
16
            case detail::presentation_type::float_hex:
4363
16
                return options | float_reader_base::allow_hex;
4364
4365
12
            case detail::presentation_type::float_general:
4366
12
                return options | float_reader_base::allow_scientific |
4367
12
                       float_reader_base::allow_fixed;
4368
4369
584
            case detail::presentation_type::none:
4370
584
                return options | float_reader_base::allow_scientific |
4371
584
                       float_reader_base::allow_fixed |
4372
584
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
654
                SCN_UNREACHABLE;
4377
654
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
654
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
642
    {
4347
642
        unsigned options{};
4348
642
        if (specs.localized) {
4349
32
            options |= float_reader_base::allow_thsep;
4350
32
        }
4351
4352
642
        SCN_GCC_COMPAT_PUSH
4353
642
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
642
        switch (specs.type) {
4356
20
            case detail::presentation_type::float_fixed:
4357
20
                return options | float_reader_base::allow_fixed;
4358
4359
10
            case detail::presentation_type::float_scientific:
4360
10
                return options | float_reader_base::allow_scientific;
4361
4362
68
            case detail::presentation_type::float_hex:
4363
68
                return options | float_reader_base::allow_hex;
4364
4365
2
            case detail::presentation_type::float_general:
4366
2
                return options | float_reader_base::allow_scientific |
4367
2
                       float_reader_base::allow_fixed;
4368
4369
542
            case detail::presentation_type::none:
4370
542
                return options | float_reader_base::allow_scientific |
4371
542
                       float_reader_base::allow_fixed |
4372
542
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
642
                SCN_UNREACHABLE;
4377
642
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
642
    }
4381
};
4382
4383
/////////////////////////////////////////////////////////////////
4384
// Regex reader
4385
/////////////////////////////////////////////////////////////////
4386
4387
#if !SCN_DISABLE_REGEX
4388
4389
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> scan_expected<std::regex_constants::syntax_option_type>
4392
{
4393
    std::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4395
#if SCN_HAS_STD_REGEX_MULTILINE
4396
        result |= std::regex_constants::multiline;
4397
#else
4398
        return detail::unexpected_scan_error(
4399
            scan_error::invalid_format_string,
4400
            "/m flag for regex isn't supported by regex backend");
4401
#endif
4402
    }
4403
    if ((flags & detail::regex_flags::singleline) !=
4404
        detail::regex_flags::none) {
4405
        return detail::unexpected_scan_error(
4406
            scan_error::invalid_format_string,
4407
            "/s flag for regex isn't supported by regex backend");
4408
    }
4409
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4410
        result |= std::regex_constants::icase;
4411
    }
4412
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4413
        result |= std::regex_constants::nosubs;
4414
    }
4415
    return result;
4416
}
4417
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4418
constexpr auto make_regex_flags(detail::regex_flags flags)
4419
    -> boost::regex_constants::syntax_option_type
4420
{
4421
    boost::regex_constants::syntax_option_type result{};
4422
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4423
        result |= boost::regex_constants::no_mod_m;
4424
    }
4425
    if ((flags & detail::regex_flags::singleline) !=
4426
        detail::regex_flags::none) {
4427
        result |= boost::regex_constants::mod_s;
4428
    }
4429
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4430
        result |= boost::regex_constants::icase;
4431
    }
4432
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4433
        result |= boost::regex_constants::nosubs;
4434
    }
4435
    return result;
4436
}
4437
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4438
inline auto make_regex_flags(detail::regex_flags flags)
4439
    -> std::pair<RE2::Options, std::string_view>
4440
324
{
4441
324
    RE2::Options opt{RE2::Quiet};
4442
324
    std::string_view stringflags{};
4443
4444
324
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4445
312
        stringflags = "(?m)";
4446
312
    }
4447
324
    if ((flags & detail::regex_flags::singleline) !=
4448
324
        detail::regex_flags::none) {
4449
6
        opt.set_dot_nl(true);
4450
6
    }
4451
324
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4452
6
        opt.set_case_sensitive(false);
4453
6
    }
4454
324
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4455
6
        opt.set_never_capture(true);
4456
6
    }
4457
4458
324
    return {opt, stringflags};
4459
324
}
4460
#endif  // SCN_REGEX_BACKEND == ...
4461
4462
template <typename CharT, typename Input>
4463
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4464
                            detail::regex_flags flags,
4465
                            Input input)
4466
    -> scan_expected<ranges::iterator_t<Input>>
4467
324
{
4468
324
    static_assert(ranges::contiguous_range<Input> &&
4469
324
                  ranges::borrowed_range<Input> &&
4470
324
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
324
    std::string flagged_pattern{};
4548
324
    auto re = [&]() {
4549
324
        auto [opts, flagstr] = make_regex_flags(flags);
4550
324
        opts.set_never_capture(true);
4551
324
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
312
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
312
        flagged_pattern.append(flagstr);
4556
312
        flagged_pattern.append(pattern);
4557
312
        return re2::RE2{flagged_pattern, opts};
4558
324
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4548
324
    auto re = [&]() {
4549
324
        auto [opts, flagstr] = make_regex_flags(flags);
4550
324
        opts.set_never_capture(true);
4551
324
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
312
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
312
        flagged_pattern.append(flagstr);
4556
312
        flagged_pattern.append(pattern);
4557
312
        return re2::RE2{flagged_pattern, opts};
4558
324
    }();
4559
324
    if (!re.ok()) {
4560
84
        return detail::unexpected_scan_error(
4561
84
            scan_error::invalid_format_string,
4562
84
            "Failed to parse regular expression");
4563
84
    }
4564
4565
240
    auto new_input = detail::make_string_view_from_pointers(
4566
240
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
240
    bool found = re2::RE2::Consume(&new_input, re);
4568
240
    if (!found) {
4569
150
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
150
                                             "Regular expression didn't match");
4571
150
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
240
#endif  // SCN_REGEX_BACKEND == ...
4574
240
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4467
324
{
4468
324
    static_assert(ranges::contiguous_range<Input> &&
4469
324
                  ranges::borrowed_range<Input> &&
4470
324
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
324
    std::string flagged_pattern{};
4548
324
    auto re = [&]() {
4549
324
        auto [opts, flagstr] = make_regex_flags(flags);
4550
324
        opts.set_never_capture(true);
4551
324
        if (flagstr.empty()) {
4552
324
            return re2::RE2{pattern, opts};
4553
324
        }
4554
324
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
324
        flagged_pattern.append(flagstr);
4556
324
        flagged_pattern.append(pattern);
4557
324
        return re2::RE2{flagged_pattern, opts};
4558
324
    }();
4559
324
    if (!re.ok()) {
4560
84
        return detail::unexpected_scan_error(
4561
84
            scan_error::invalid_format_string,
4562
84
            "Failed to parse regular expression");
4563
84
    }
4564
4565
240
    auto new_input = detail::make_string_view_from_pointers(
4566
240
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
240
    bool found = re2::RE2::Consume(&new_input, re);
4568
240
    if (!found) {
4569
150
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
150
                                             "Regular expression didn't match");
4571
150
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
240
#endif  // SCN_REGEX_BACKEND == ...
4574
240
}
4575
4576
template <typename CharT, typename Input>
4577
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4578
                             detail::regex_flags flags,
4579
                             Input input,
4580
                             basic_regex_matches<CharT>& value)
4581
    -> scan_expected<ranges::iterator_t<Input>>
4582
0
{
4583
0
    static_assert(ranges::contiguous_range<Input> &&
4584
0
                  ranges::borrowed_range<Input> &&
4585
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4586
4587
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4588
    std::basic_regex<CharT> re{};
4589
    try {
4590
        SCN_TRY(re_flags, make_regex_flags(flags));
4591
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4592
    }
4593
    catch (const std::regex_error&) {
4594
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4595
                                             "Invalid regex");
4596
    }
4597
4598
    std::match_results<const CharT*> matches{};
4599
    try {
4600
        bool found = std::regex_search(input.data(),
4601
                                       input.data() + input.size(), matches, re,
4602
                                       std::regex_constants::match_continuous);
4603
        if (!found || matches.prefix().matched) {
4604
            return detail::unexpected_scan_error(
4605
                scan_error::invalid_scanned_value,
4606
                "Regular expression didn't match");
4607
        }
4608
    }
4609
    catch (const std::regex_error&) {
4610
        return detail::unexpected_scan_error(
4611
            scan_error::invalid_format_string,
4612
            "Regex matching failed with an error");
4613
    }
4614
4615
    value.resize(matches.size());
4616
    std::transform(matches.begin(), matches.end(), value.begin(),
4617
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4618
                       if (!match.matched)
4619
                           return std::nullopt;
4620
                       return detail::make_string_view_from_pointers(
4621
                           match.first, match.second);
4622
                   });
4623
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4624
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4625
    std::vector<std::basic_string<CharT>> names;
4626
    for (size_t i = 0; i < pattern.size();) {
4627
        if constexpr (std::is_same_v<CharT, char>) {
4628
            i = pattern.find("(?<", i);
4629
        }
4630
        else {
4631
            i = pattern.find(L"(?<", i);
4632
        }
4633
4634
        if (i == std::basic_string_view<CharT>::npos) {
4635
            break;
4636
        }
4637
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4638
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4639
                i += 3;
4640
                continue;
4641
            }
4642
        }
4643
4644
        i += 3;
4645
        auto end_i = pattern.find(CharT{'>'}, i);
4646
        if (end_i == std::basic_string_view<CharT>::npos) {
4647
            break;
4648
        }
4649
        names.emplace_back(pattern.substr(i, end_i - i));
4650
    }
4651
4652
    auto re =
4653
#if SCN_REGEX_BOOST_USE_ICU
4654
        boost::make_u32regex(
4655
            pattern.data(), pattern.data() + pattern.size(),
4656
            make_regex_flags(flags) | boost::regex_constants::no_except);
4657
#else
4658
        boost::basic_regex<CharT>{
4659
            pattern.data(), pattern.size(),
4660
            make_regex_flags(flags) | boost::regex_constants::no_except};
4661
#endif
4662
    if (re.status() != 0) {
4663
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4664
                                             "Invalid regex");
4665
    }
4666
4667
    boost::match_results<const CharT*> matches{};
4668
    try {
4669
        bool found =
4670
#if SCN_REGEX_BOOST_USE_ICU
4671
            boost::u32regex_search(input.data(), input.data() + input.size(),
4672
                                   matches, re,
4673
                                   boost::regex_constants::match_continuous);
4674
#else
4675
            boost::regex_search(input.data(), input.data() + input.size(),
4676
                                matches, re,
4677
                                boost::regex_constants::match_continuous);
4678
#endif
4679
        if (!found || matches.prefix().matched) {
4680
            return detail::unexpected_scan_error(
4681
                scan_error::invalid_scanned_value,
4682
                "Regular expression didn't match");
4683
        }
4684
    }
4685
    catch (const std::runtime_error&) {
4686
        return detail::unexpected_scan_error(
4687
            scan_error::invalid_format_string,
4688
            "Regex matching failed with an error");
4689
    }
4690
4691
    value.resize(matches.size());
4692
    std::transform(
4693
        matches.begin(), matches.end(), value.begin(),
4694
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4695
            if (!match.matched)
4696
                return std::nullopt;
4697
            auto sv = detail::make_string_view_from_pointers(match.first,
4698
                                                             match.second);
4699
4700
            if (auto name_it = std::find_if(
4701
                    names.begin(), names.end(),
4702
                    [&](const auto& name) { return match == matches[name]; });
4703
                name_it != names.end()) {
4704
                return basic_regex_match<CharT>{sv, *name_it};
4705
            }
4706
            return sv;
4707
        });
4708
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4709
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4710
    static_assert(std::is_same_v<CharT, char>);
4711
0
    std::string flagged_pattern{};
4712
0
    auto re = [&]() {
4713
0
        auto [opts, flagstr] = make_regex_flags(flags);
4714
0
        if (flagstr.empty()) {
4715
0
            return re2::RE2{pattern, opts};
4716
0
        }
4717
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4718
0
        flagged_pattern.append(flagstr);
4719
0
        flagged_pattern.append(pattern);
4720
0
        return re2::RE2{flagged_pattern, opts};
4721
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4722
0
    if (!re.ok()) {
4723
0
        return detail::unexpected_scan_error(
4724
0
            scan_error::invalid_format_string,
4725
0
            "Failed to parse regular expression");
4726
0
    }
4727
    // TODO: Optimize into a single batch allocation
4728
0
    const auto max_matches_n =
4729
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4730
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4731
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4732
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4733
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4734
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4735
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4736
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4737
0
    auto new_input = detail::make_string_view_from_pointers(
4738
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4739
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4740
0
                                    match_argptrs.size());
4741
0
    if (!found) {
4742
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4743
0
                                             "Regular expression didn't match");
4744
0
    }
4745
0
    value.resize(matches.size() + 1);
4746
0
    value[0] =
4747
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4748
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4749
0
                   [&](auto&& match) -> std::optional<regex_match> {
4750
0
                       if (!match)
4751
0
                           return std::nullopt;
4752
0
                       return *match;
4753
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4754
0
    {
4755
0
        const auto& capturing_groups = re.CapturingGroupNames();
4756
0
        for (size_t i = 1; i < value.size(); ++i) {
4757
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4758
0
                it != capturing_groups.end()) {
4759
0
                auto val = value[i]->get();
4760
0
                value[i].emplace(val, it->second);
4761
0
            };
4762
0
        }
4763
0
    }
4764
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4765
0
#endif  // SCN_REGEX_BACKEND == ...
4766
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4767
4768
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4769
384
{
4770
384
    std::string result{pattern};
4771
5.37k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4772
4.99k
        result.replace(n, 2, "/");
4773
4.99k
        ++n;
4774
4.99k
    }
4775
384
    return result;
4776
384
}
4777
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4778
0
{
4779
0
    std::wstring result{pattern};
4780
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4781
0
        result.replace(n, 2, L"/");
4782
0
        ++n;
4783
0
    }
4784
0
    return result;
4785
0
}
4786
4787
template <typename SourceCharT>
4788
struct regex_matches_reader
4789
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4790
    void check_specs_impl(const detail::format_specs& specs,
4791
                          reader_error_handler& eh)
4792
0
    {
4793
0
        detail::check_regex_type_specs(specs, eh);
4794
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4795
0
        SCN_EXPECT(specs.charset_string_size > 0);
4796
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4797
4798
    template <typename Range, typename DestCharT>
4799
    auto read_default(Range,
4800
                      basic_regex_matches<DestCharT>&,
4801
                      detail::locale_ref = {})
4802
        -> scan_expected<ranges::const_iterator_t<Range>>
4803
    {
4804
        return detail::unexpected_scan_error(
4805
            scan_error::invalid_format_string,
4806
            "No regex given in format string for scanning regex_matches");
4807
    }
4808
4809
    template <typename Range, typename DestCharT>
4810
    auto read_specs(Range range,
4811
                    const detail::format_specs& specs,
4812
                    basic_regex_matches<DestCharT>& value,
4813
                    detail::locale_ref = {})
4814
        -> scan_expected<ranges::const_iterator_t<Range>>
4815
0
    {
4816
0
        SCN_UNUSED(range);
4817
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4818
0
            return detail::unexpected_scan_error(
4819
0
                scan_error::invalid_format_string,
4820
0
                "Cannot transcode is regex_matches_reader");
4821
        }
4822
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4823
0
                           !std::is_same_v<SourceCharT, char>) {
4824
0
            return detail::unexpected_scan_error(
4825
0
                scan_error::invalid_format_string,
4826
0
                "Regex backend doesn't support wide strings as input");
4827
        }
4828
0
        else {
4829
0
            if (!is_entire_source_contiguous(range)) {
4830
0
                return detail::unexpected_scan_error(
4831
0
                    scan_error::invalid_format_string,
4832
0
                    "Cannot use regex with a non-contiguous source "
4833
0
                    "range");
4834
0
            }
4835
4836
0
            auto input = get_as_contiguous(range);
4837
0
            SCN_TRY(it,
4838
0
                    impl(input,
4839
0
                         specs.type == detail::presentation_type::regex_escaped,
4840
0
                         specs.charset_string<SourceCharT>(),
4841
0
                         specs.regexp_flags, value));
4842
0
            return ranges::next(range.begin(),
4843
0
                                ranges::distance(input.begin(), it));
4844
0
        }
4845
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4846
4847
private:
4848
    template <typename Range, typename DestCharT>
4849
    auto impl(Range input,
4850
              bool is_escaped,
4851
              std::basic_string_view<SourceCharT> pattern,
4852
              detail::regex_flags flags,
4853
              basic_regex_matches<DestCharT>& value)
4854
0
    {
4855
        if constexpr (detail::is_type_disabled<
4856
                          basic_regex_matches<DestCharT>>) {
4857
            SCN_EXPECT(false);
4858
            SCN_UNREACHABLE;
4859
        }
4860
0
        else {
4861
0
            if (is_escaped) {
4862
0
                return read_regex_matches_impl<SourceCharT>(
4863
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4864
0
            }
4865
0
            return read_regex_matches_impl(pattern, flags, input, value);
4866
0
        }
4867
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4868
};
4869
4870
template <typename CharT>
4871
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4872
4873
#endif  // !SCN_DISABLE_REGEX
4874
4875
/////////////////////////////////////////////////////////////////
4876
// String reader
4877
/////////////////////////////////////////////////////////////////
4878
4879
template <typename Range, typename Iterator, typename ValueCharT>
4880
auto read_string_impl(Range range,
4881
                      Iterator&& result,
4882
                      std::basic_string<ValueCharT>& value)
4883
    -> scan_expected<ranges::const_iterator_t<Range>>
4884
18.5k
{
4885
18.5k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
18.5k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
18.5k
    if (!validate_unicode(src.view())) {
4889
1.94k
        return detail::unexpected_scan_error(
4890
1.94k
            scan_error::invalid_scanned_value,
4891
1.94k
            "Invalid encoding in scanned string");
4892
1.94k
    }
4893
4894
16.6k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
16.6k
    return SCN_MOVE(result);
4896
16.6k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
172
        return detail::unexpected_scan_error(
4890
172
            scan_error::invalid_scanned_value,
4891
172
            "Invalid encoding in scanned string");
4892
172
    }
4893
4894
304
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
304
    return SCN_MOVE(result);
4896
304
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
270
{
4885
270
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
270
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
270
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.01k
{
4885
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.01k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.01k
    if (!validate_unicode(src.view())) {
4889
326
        return detail::unexpected_scan_error(
4890
326
            scan_error::invalid_scanned_value,
4891
326
            "Invalid encoding in scanned string");
4892
326
    }
4893
4894
692
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
692
    return SCN_MOVE(result);
4896
692
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
502
{
4885
502
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
502
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
502
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
450
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
450
    return SCN_MOVE(result);
4896
450
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
172
        return detail::unexpected_scan_error(
4890
172
            scan_error::invalid_scanned_value,
4891
172
            "Invalid encoding in scanned string");
4892
172
    }
4893
4894
304
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
304
    return SCN_MOVE(result);
4896
304
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
270
{
4885
270
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
270
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
270
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.01k
{
4885
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.01k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.01k
    if (!validate_unicode(src.view())) {
4889
326
        return detail::unexpected_scan_error(
4890
326
            scan_error::invalid_scanned_value,
4891
326
            "Invalid encoding in scanned string");
4892
326
    }
4893
4894
692
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
692
    return SCN_MOVE(result);
4896
692
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
502
{
4885
502
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
502
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
502
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
450
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
450
    return SCN_MOVE(result);
4896
450
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
214
{
4885
214
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
214
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
214
    if (!validate_unicode(src.view())) {
4889
80
        return detail::unexpected_scan_error(
4890
80
            scan_error::invalid_scanned_value,
4891
80
            "Invalid encoding in scanned string");
4892
80
    }
4893
4894
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
134
    return SCN_MOVE(result);
4896
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
166
{
4885
166
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
166
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
166
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
162
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
162
    return SCN_MOVE(result);
4896
162
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
6.46k
{
4885
6.46k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
6.46k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
6.46k
    if (!validate_unicode(src.view())) {
4889
242
        return detail::unexpected_scan_error(
4890
242
            scan_error::invalid_scanned_value,
4891
242
            "Invalid encoding in scanned string");
4892
242
    }
4893
4894
6.22k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
6.22k
    return SCN_MOVE(result);
4896
6.22k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
176
{
4885
176
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
176
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
176
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
170
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
170
    return SCN_MOVE(result);
4896
170
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
214
{
4885
214
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
214
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
214
    if (!validate_unicode(src.view())) {
4889
80
        return detail::unexpected_scan_error(
4890
80
            scan_error::invalid_scanned_value,
4891
80
            "Invalid encoding in scanned string");
4892
80
    }
4893
4894
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
134
    return SCN_MOVE(result);
4896
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
166
{
4885
166
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
166
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
166
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
162
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
162
    return SCN_MOVE(result);
4896
162
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
6.46k
{
4885
6.46k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
6.46k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
6.46k
    if (!validate_unicode(src.view())) {
4889
242
        return detail::unexpected_scan_error(
4890
242
            scan_error::invalid_scanned_value,
4891
242
            "Invalid encoding in scanned string");
4892
242
    }
4893
4894
6.22k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
6.22k
    return SCN_MOVE(result);
4896
6.22k
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
176
{
4885
176
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
176
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
176
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
170
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
170
    return SCN_MOVE(result);
4896
170
}
4897
4898
template <typename Range, typename Iterator, typename ValueCharT>
4899
auto read_string_view_impl(Range range,
4900
                           Iterator&& result,
4901
                           std::basic_string_view<ValueCharT>& value)
4902
    -> scan_expected<ranges::const_iterator_t<Range>>
4903
9.28k
{
4904
9.28k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
9.28k
    auto src = [&]() {
4907
9.28k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.12k
            return make_contiguous_buffer(
4909
1.12k
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
8.16k
        else {
4912
8.16k
            return make_contiguous_buffer(
4913
8.16k
                ranges::subrange{range.begin(), result});
4914
8.16k
        }
4915
9.28k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
476
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
270
    auto src = [&]() {
4907
270
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
270
            return make_contiguous_buffer(
4909
270
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
270
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
1.01k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
1.01k
        else {
4912
1.01k
            return make_contiguous_buffer(
4913
1.01k
                ranges::subrange{range.begin(), result});
4914
1.01k
        }
4915
1.01k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
502
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
502
        else {
4912
502
            return make_contiguous_buffer(
4913
502
                ranges::subrange{range.begin(), result});
4914
502
        }
4915
502
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
214
    auto src = [&]() {
4907
214
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
214
            return make_contiguous_buffer(
4909
214
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
214
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
166
    auto src = [&]() {
4907
166
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
166
            return make_contiguous_buffer(
4909
166
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
166
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
6.46k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
6.46k
        else {
4912
6.46k
            return make_contiguous_buffer(
4913
6.46k
                ranges::subrange{range.begin(), result});
4914
6.46k
        }
4915
6.46k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
176
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
176
        else {
4912
176
            return make_contiguous_buffer(
4913
176
                ranges::subrange{range.begin(), result});
4914
176
        }
4915
176
    }();
4916
9.28k
    using src_type = decltype(src);
4917
4918
9.28k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
9.28k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
0
                                             "Cannot read a string_view from "
4927
0
                                             "this source range (would require "
4928
0
                                             "transcoding)");
4929
    }
4930
9.28k
    else {
4931
9.28k
        const auto view = src.view();
4932
9.28k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
9.28k
        if (!validate_unicode(value)) {
4935
974
            return detail::unexpected_scan_error(
4936
974
                scan_error::invalid_scanned_value,
4937
974
                "Invalid encoding in scanned string_view");
4938
974
        }
4939
4940
8.31k
        return SCN_MOVE(result);
4941
9.28k
    }
4942
9.28k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
476
{
4904
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
476
        }
4911
476
        else {
4912
476
            return make_contiguous_buffer(
4913
476
                ranges::subrange{range.begin(), result});
4914
476
        }
4915
476
    }();
4916
476
    using src_type = decltype(src);
4917
4918
476
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
476
    else {
4931
476
        const auto view = src.view();
4932
476
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
476
        if (!validate_unicode(value)) {
4935
172
            return detail::unexpected_scan_error(
4936
172
                scan_error::invalid_scanned_value,
4937
172
                "Invalid encoding in scanned string_view");
4938
172
        }
4939
4940
304
        return SCN_MOVE(result);
4941
476
    }
4942
476
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
270
{
4904
270
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
270
    auto src = [&]() {
4907
270
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
270
            return make_contiguous_buffer(
4909
270
                ranges::subrange{range.begin().base(), result.base()});
4910
270
        }
4911
270
        else {
4912
270
            return make_contiguous_buffer(
4913
270
                ranges::subrange{range.begin(), result});
4914
270
        }
4915
270
    }();
4916
270
    using src_type = decltype(src);
4917
4918
270
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
270
    else {
4931
270
        const auto view = src.view();
4932
270
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
270
        if (!validate_unicode(value)) {
4935
92
            return detail::unexpected_scan_error(
4936
92
                scan_error::invalid_scanned_value,
4937
92
                "Invalid encoding in scanned string_view");
4938
92
        }
4939
4940
178
        return SCN_MOVE(result);
4941
270
    }
4942
270
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
1.01k
{
4904
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
1.01k
    auto src = [&]() {
4907
1.01k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.01k
            return make_contiguous_buffer(
4909
1.01k
                ranges::subrange{range.begin().base(), result.base()});
4910
1.01k
        }
4911
1.01k
        else {
4912
1.01k
            return make_contiguous_buffer(
4913
1.01k
                ranges::subrange{range.begin(), result});
4914
1.01k
        }
4915
1.01k
    }();
4916
1.01k
    using src_type = decltype(src);
4917
4918
1.01k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
1.01k
    else {
4931
1.01k
        const auto view = src.view();
4932
1.01k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
1.01k
        if (!validate_unicode(value)) {
4935
326
            return detail::unexpected_scan_error(
4936
326
                scan_error::invalid_scanned_value,
4937
326
                "Invalid encoding in scanned string_view");
4938
326
        }
4939
4940
692
        return SCN_MOVE(result);
4941
1.01k
    }
4942
1.01k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
502
{
4904
502
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
502
    auto src = [&]() {
4907
502
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
502
            return make_contiguous_buffer(
4909
502
                ranges::subrange{range.begin().base(), result.base()});
4910
502
        }
4911
502
        else {
4912
502
            return make_contiguous_buffer(
4913
502
                ranges::subrange{range.begin(), result});
4914
502
        }
4915
502
    }();
4916
502
    using src_type = decltype(src);
4917
4918
502
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
502
    else {
4931
502
        const auto view = src.view();
4932
502
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
502
        if (!validate_unicode(value)) {
4935
52
            return detail::unexpected_scan_error(
4936
52
                scan_error::invalid_scanned_value,
4937
52
                "Invalid encoding in scanned string_view");
4938
52
        }
4939
4940
450
        return SCN_MOVE(result);
4941
502
    }
4942
502
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
214
{
4904
214
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
214
    auto src = [&]() {
4907
214
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
214
            return make_contiguous_buffer(
4909
214
                ranges::subrange{range.begin().base(), result.base()});
4910
214
        }
4911
214
        else {
4912
214
            return make_contiguous_buffer(
4913
214
                ranges::subrange{range.begin(), result});
4914
214
        }
4915
214
    }();
4916
214
    using src_type = decltype(src);
4917
4918
214
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
214
    else {
4931
214
        const auto view = src.view();
4932
214
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
214
        if (!validate_unicode(value)) {
4935
80
            return detail::unexpected_scan_error(
4936
80
                scan_error::invalid_scanned_value,
4937
80
                "Invalid encoding in scanned string_view");
4938
80
        }
4939
4940
134
        return SCN_MOVE(result);
4941
214
    }
4942
214
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
166
{
4904
166
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
166
    auto src = [&]() {
4907
166
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
166
            return make_contiguous_buffer(
4909
166
                ranges::subrange{range.begin().base(), result.base()});
4910
166
        }
4911
166
        else {
4912
166
            return make_contiguous_buffer(
4913
166
                ranges::subrange{range.begin(), result});
4914
166
        }
4915
166
    }();
4916
166
    using src_type = decltype(src);
4917
4918
166
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
166
    else {
4931
166
        const auto view = src.view();
4932
166
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
166
        if (!validate_unicode(value)) {
4935
4
            return detail::unexpected_scan_error(
4936
4
                scan_error::invalid_scanned_value,
4937
4
                "Invalid encoding in scanned string_view");
4938
4
        }
4939
4940
162
        return SCN_MOVE(result);
4941
166
    }
4942
166
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
6.46k
{
4904
6.46k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
6.46k
    auto src = [&]() {
4907
6.46k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
6.46k
            return make_contiguous_buffer(
4909
6.46k
                ranges::subrange{range.begin().base(), result.base()});
4910
6.46k
        }
4911
6.46k
        else {
4912
6.46k
            return make_contiguous_buffer(
4913
6.46k
                ranges::subrange{range.begin(), result});
4914
6.46k
        }
4915
6.46k
    }();
4916
6.46k
    using src_type = decltype(src);
4917
4918
6.46k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
6.46k
    else {
4931
6.46k
        const auto view = src.view();
4932
6.46k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
6.46k
        if (!validate_unicode(value)) {
4935
242
            return detail::unexpected_scan_error(
4936
242
                scan_error::invalid_scanned_value,
4937
242
                "Invalid encoding in scanned string_view");
4938
242
        }
4939
4940
6.22k
        return SCN_MOVE(result);
4941
6.46k
    }
4942
6.46k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
176
{
4904
176
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
176
    auto src = [&]() {
4907
176
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
176
            return make_contiguous_buffer(
4909
176
                ranges::subrange{range.begin().base(), result.base()});
4910
176
        }
4911
176
        else {
4912
176
            return make_contiguous_buffer(
4913
176
                ranges::subrange{range.begin(), result});
4914
176
        }
4915
176
    }();
4916
176
    using src_type = decltype(src);
4917
4918
176
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
176
    else {
4931
176
        const auto view = src.view();
4932
176
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
176
        if (!validate_unicode(value)) {
4935
6
            return detail::unexpected_scan_error(
4936
6
                scan_error::invalid_scanned_value,
4937
6
                "Invalid encoding in scanned string_view");
4938
6
        }
4939
4940
170
        return SCN_MOVE(result);
4941
176
    }
4942
176
}
4943
4944
template <typename SourceCharT>
4945
class word_reader_impl {
4946
public:
4947
    template <typename Range, typename ValueCharT>
4948
    auto read(Range range, std::basic_string<ValueCharT>& value)
4949
        -> scan_expected<ranges::const_iterator_t<Range>>
4950
15.7k
    {
4951
15.7k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
15.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
316
    {
4951
316
        return read_string_impl(range, read_until_classic_space(range), value);
4952
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
964
    {
4951
964
        return read_string_impl(range, read_until_classic_space(range), value);
4952
964
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
316
    {
4951
316
        return read_string_impl(range, read_until_classic_space(range), value);
4952
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
964
    {
4951
964
        return read_string_impl(range, read_until_classic_space(range), value);
4952
964
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
158
    {
4951
158
        return read_string_impl(range, read_until_classic_space(range), value);
4952
158
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
6.43k
    {
4951
6.43k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
6.43k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
158
    {
4951
158
        return read_string_impl(range, read_until_classic_space(range), value);
4952
158
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
6.43k
    {
4951
6.43k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
6.43k
    }
4953
4954
    template <typename Range, typename ValueCharT>
4955
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4956
        -> scan_expected<ranges::const_iterator_t<Range>>
4957
7.87k
    {
4958
7.87k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
7.87k
                                     value);
4960
7.87k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
316
    {
4958
316
        return read_string_view_impl(range, read_until_classic_space(range),
4959
316
                                     value);
4960
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
964
    {
4958
964
        return read_string_view_impl(range, read_until_classic_space(range),
4959
964
                                     value);
4960
964
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
158
    {
4958
158
        return read_string_view_impl(range, read_until_classic_space(range),
4959
158
                                     value);
4960
158
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
6.43k
    {
4958
6.43k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
6.43k
                                     value);
4960
6.43k
    }
4961
};
4962
4963
template <typename SourceCharT>
4964
class custom_word_reader_impl {
4965
public:
4966
    template <typename Range, typename ValueCharT>
4967
    auto read(Range range,
4968
              const detail::format_specs& specs,
4969
              std::basic_string<ValueCharT>& value)
4970
        -> scan_expected<ranges::const_iterator_t<Range>>
4971
432
    {
4972
432
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
268
            return read_string_impl(
4974
268
                range,
4975
268
                read_until_code_unit(
4976
268
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
268
                value);
4978
268
        }
4979
164
        return read_string_impl(
4980
164
            range,
4981
164
            read_until_code_units(
4982
164
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
164
            value);
4984
432
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
54
    {
4972
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
24
            return read_string_impl(
4974
24
                range,
4975
24
                read_until_code_unit(
4976
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
24
                value);
4978
24
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
54
    {
4972
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
24
            return read_string_impl(
4974
24
                range,
4975
24
                read_until_code_unit(
4976
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
24
                value);
4978
24
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
30
    {
4972
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
30
            return read_string_impl(
4974
30
                range,
4975
30
                read_until_code_unit(
4976
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
30
                value);
4978
30
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
30
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
30
    {
4972
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
30
            return read_string_impl(
4974
30
                range,
4975
30
                read_until_code_unit(
4976
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
30
                value);
4978
30
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
30
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
4985
4986
    template <typename Range, typename ValueCharT>
4987
    auto read(Range range,
4988
              const detail::format_specs& specs,
4989
              std::basic_string_view<ValueCharT>& value)
4990
        -> scan_expected<ranges::const_iterator_t<Range>>
4991
216
    {
4992
216
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
134
            return read_string_view_impl(
4994
134
                range,
4995
134
                read_until_code_unit(
4996
134
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
134
                value);
4998
134
        }
4999
82
        return read_string_view_impl(
5000
82
            range,
5001
82
            read_until_code_units(
5002
82
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
82
            value);
5004
216
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
100
    {
4992
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
48
            return read_string_view_impl(
4994
48
                range,
4995
48
                read_until_code_unit(
4996
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
48
                value);
4998
48
        }
4999
52
        return read_string_view_impl(
5000
52
            range,
5001
52
            read_until_code_units(
5002
52
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
52
            value);
5004
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
54
    {
4992
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
24
            return read_string_view_impl(
4994
24
                range,
4995
24
                read_until_code_unit(
4996
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
24
                value);
4998
24
        }
4999
30
        return read_string_view_impl(
5000
30
            range,
5001
30
            read_until_code_units(
5002
30
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
30
            value);
5004
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
30
    {
4992
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
30
            return read_string_view_impl(
4994
30
                range,
4995
30
                read_until_code_unit(
4996
30
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
30
                value);
4998
30
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
30
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
32
    {
4992
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
32
            return read_string_view_impl(
4994
32
                range,
4995
32
                read_until_code_unit(
4996
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
32
                value);
4998
32
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
32
    }
5005
};
5006
5007
#if !SCN_DISABLE_REGEX
5008
template <typename SourceCharT>
5009
class regex_string_reader_impl {
5010
public:
5011
    template <typename Range, typename ValueCharT>
5012
    auto read(Range range,
5013
              std::basic_string_view<SourceCharT> pattern,
5014
              detail::regex_flags flags,
5015
              std::basic_string<ValueCharT>& value)
5016
        -> scan_expected<ranges::const_iterator_t<Range>>
5017
324
    {
5018
324
        SCN_TRY(it, impl(range, pattern, flags));
5019
60
        return read_string_impl(range, it, value);
5020
324
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
54
    {
5018
54
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
108
    {
5018
108
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
108
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
54
    {
5018
54
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
108
    {
5018
108
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
108
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
5021
5022
    template <typename Range, typename ValueCharT>
5023
    auto read(Range range,
5024
              std::basic_string_view<SourceCharT> pattern,
5025
              detail::regex_flags flags,
5026
              std::basic_string_view<ValueCharT>& value)
5027
        -> scan_expected<ranges::const_iterator_t<Range>>
5028
162
    {
5029
162
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
162
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
5028
54
    {
5029
54
        SCN_TRY(it, impl(range, pattern, flags));
5030
0
        return read_string_view_impl(range, it, value);
5031
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
5028
108
    {
5029
108
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
108
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5032
5033
private:
5034
    template <typename Range>
5035
    auto impl(Range range,
5036
              std::basic_string_view<SourceCharT> pattern,
5037
              detail::regex_flags flags)
5038
        -> scan_expected<ranges::const_iterator_t<Range>>
5039
486
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
0
                      !std::is_same_v<SourceCharT, char>) {
5042
0
            return detail::unexpected_scan_error(
5043
0
                scan_error::invalid_format_string,
5044
0
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
486
        else {
5047
486
            if (!is_entire_source_contiguous(range)) {
5048
162
                return detail::unexpected_scan_error(
5049
162
                    scan_error::invalid_format_string,
5050
162
                    "Cannot use regex with a non-contiguous source "
5051
162
                    "range");
5052
162
            }
5053
5054
324
            auto input = get_as_contiguous(range);
5055
324
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
324
        }
5060
486
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
162
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
162
        else {
5047
162
            if (!is_entire_source_contiguous(range)) {
5048
162
                return detail::unexpected_scan_error(
5049
162
                    scan_error::invalid_format_string,
5050
162
                    "Cannot use regex with a non-contiguous source "
5051
162
                    "range");
5052
162
            }
5053
5054
0
            auto input = get_as_contiguous(range);
5055
0
            SCN_TRY(it,
5056
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
0
            return ranges::next(range.begin(),
5058
0
                                ranges::distance(input.begin(), it));
5059
0
        }
5060
162
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
324
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
324
        else {
5047
324
            if (!is_entire_source_contiguous(range)) {
5048
0
                return detail::unexpected_scan_error(
5049
0
                    scan_error::invalid_format_string,
5050
0
                    "Cannot use regex with a non-contiguous source "
5051
0
                    "range");
5052
0
            }
5053
5054
324
            auto input = get_as_contiguous(range);
5055
324
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
324
        }
5060
324
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5061
};
5062
#endif
5063
5064
template <typename SourceCharT>
5065
class character_reader_impl {
5066
public:
5067
    // Note: no localized version,
5068
    // since it's equivalent in behavior
5069
5070
    template <typename Range, typename ValueCharT>
5071
    auto read(Range range, std::basic_string<ValueCharT>& value)
5072
        -> scan_expected<ranges::const_iterator_t<Range>>
5073
172
    {
5074
172
        return read_impl(
5075
172
            range,
5076
172
            [&](const auto& rng) {
5077
172
                return read_string_impl(rng, read_all(rng), value);
5078
172
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
60
            [&](const auto& rng) {
5077
60
                return read_string_impl(rng, read_all(rng), value);
5078
60
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
60
            [&](const auto& rng) {
5077
60
                return read_string_impl(rng, read_all(rng), value);
5078
60
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
172
            detail::priority_tag<1>{});
5080
172
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
60
    {
5074
60
        return read_impl(
5075
60
            range,
5076
60
            [&](const auto& rng) {
5077
60
                return read_string_impl(rng, read_all(rng), value);
5078
60
            },
5079
60
            detail::priority_tag<1>{});
5080
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
60
    {
5074
60
        return read_impl(
5075
60
            range,
5076
60
            [&](const auto& rng) {
5077
60
                return read_string_impl(rng, read_all(rng), value);
5078
60
            },
5079
60
            detail::priority_tag<1>{});
5080
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5081
5082
    template <typename Range, typename ValueCharT>
5083
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5084
        -> scan_expected<ranges::const_iterator_t<Range>>
5085
86
    {
5086
86
        return read_impl(
5087
86
            range,
5088
86
            [&](const auto& rng) {
5089
86
                return read_string_view_impl(rng, read_all(rng), value);
5090
86
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
60
            [&](const auto& rng) {
5089
60
                return read_string_view_impl(rng, read_all(rng), value);
5090
60
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
86
            detail::priority_tag<1>{});
5092
86
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
60
    {
5086
60
        return read_impl(
5087
60
            range,
5088
60
            [&](const auto& rng) {
5089
60
                return read_string_view_impl(rng, read_all(rng), value);
5090
60
            },
5091
60
            detail::priority_tag<1>{});
5092
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
26
    {
5086
26
        return read_impl(
5087
26
            range,
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
26
            detail::priority_tag<1>{});
5092
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5093
5094
private:
5095
    template <typename View, typename ReadCb>
5096
    static auto read_impl(const take_width_view<View>& range,
5097
                          ReadCb&& read_cb,
5098
                          detail::priority_tag<1>)
5099
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5100
258
    {
5101
258
        return read_cb(range);
5102
258
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
60
    {
5101
60
        return read_cb(range);
5102
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
60
    {
5101
60
        return read_cb(range);
5102
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
60
    {
5101
60
        return read_cb(range);
5102
60
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
5103
5104
    template <typename Range, typename ReadCb>
5105
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5106
        -> scan_expected<ranges::const_iterator_t<Range>>
5107
0
    {
5108
0
        return detail::unexpected_scan_error(
5109
0
            scan_error::invalid_format_string,
5110
0
            "Cannot read characters {:c} without maximum field width");
5111
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5112
};
5113
5114
struct nonascii_specs_handler {
5115
    void on_charset_single(char32_t cp)
5116
382k
    {
5117
382k
        on_charset_range(cp, cp + 1);
5118
382k
    }
5119
5120
    void on_charset_range(char32_t begin, char32_t end)
5121
385k
    {
5122
385k
        if (end <= 127) {
5123
190k
            return;
5124
190k
        }
5125
5126
38.7M
        for (auto& elem : extra_ranges) {
5127
            // TODO: check for overlap
5128
38.7M
            if (elem.first == end) {
5129
540
                elem.first = begin;
5130
540
                return;
5131
540
            }
5132
5133
38.7M
            if (elem.second == begin) {
5134
1.75k
                elem.second = end;
5135
1.75k
                return;
5136
1.75k
            }
5137
38.7M
        }
5138
5139
193k
        extra_ranges.push_back(std::make_pair(begin, end));
5140
193k
    }
5141
5142
    constexpr void on_charset_inverted() const
5143
840
    {
5144
        // no-op
5145
840
    }
5146
5147
    constexpr void on_error(const char* msg)
5148
0
    {
5149
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5150
0
    }
5151
    constexpr void on_error(scan_error e)
5152
0
    {
5153
0
        SCN_UNLIKELY_ATTR
5154
0
        err = unexpected(e);
5155
0
    }
5156
5157
    constexpr scan_expected<void> get_error() const
5158
392k
    {
5159
392k
        return err;
5160
392k
    }
5161
5162
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5163
    scan_expected<void> err;
5164
};
5165
5166
template <typename SourceCharT>
5167
class character_set_reader_impl {
5168
public:
5169
    template <typename Range, typename ValueCharT>
5170
    auto read(Range range,
5171
              const detail::format_specs& specs,
5172
              std::basic_string<ValueCharT>& value)
5173
        -> scan_expected<ranges::const_iterator_t<Range>>
5174
2.98k
    {
5175
2.98k
        auto it = read_source_impl(range, {specs});
5176
2.98k
        if (SCN_UNLIKELY(!it)) {
5177
820
            return unexpected(it.error());
5178
820
        }
5179
5180
2.16k
        return read_string_impl(range, *it, value);
5181
2.98k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
278
    {
5175
278
        auto it = read_source_impl(range, {specs});
5176
278
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
270
        return read_string_impl(range, *it, value);
5181
278
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
846
    {
5175
846
        auto it = read_source_impl(range, {specs});
5176
846
        if (SCN_UNLIKELY(!it)) {
5177
374
            return unexpected(it.error());
5178
374
        }
5179
5180
472
        return read_string_impl(range, *it, value);
5181
846
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
278
    {
5175
278
        auto it = read_source_impl(range, {specs});
5176
278
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
270
        return read_string_impl(range, *it, value);
5181
278
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
846
    {
5175
846
        auto it = read_source_impl(range, {specs});
5176
846
        if (SCN_UNLIKELY(!it)) {
5177
374
            return unexpected(it.error());
5178
374
        }
5179
5180
472
        return read_string_impl(range, *it, value);
5181
846
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
176
    {
5175
176
        auto it = read_source_impl(range, {specs});
5176
176
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
166
        return read_string_impl(range, *it, value);
5181
176
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
194
    {
5175
194
        auto it = read_source_impl(range, {specs});
5176
194
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
176
        return read_string_impl(range, *it, value);
5181
194
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
176
    {
5175
176
        auto it = read_source_impl(range, {specs});
5176
176
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
166
        return read_string_impl(range, *it, value);
5181
176
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
194
    {
5175
194
        auto it = read_source_impl(range, {specs});
5176
194
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
176
        return read_string_impl(range, *it, value);
5181
194
    }
5182
5183
    template <typename Range, typename ValueCharT>
5184
    auto read(Range range,
5185
              const detail::format_specs& specs,
5186
              std::basic_string_view<ValueCharT>& value)
5187
        -> scan_expected<ranges::const_iterator_t<Range>>
5188
1.49k
    {
5189
1.49k
        auto it = read_source_impl(range, {specs});
5190
1.49k
        if (SCN_UNLIKELY(!it)) {
5191
410
            return unexpected(it.error());
5192
410
        }
5193
5194
1.08k
        return read_string_view_impl(range, *it, value);
5195
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
278
    {
5189
278
        auto it = read_source_impl(range, {specs});
5190
278
        if (SCN_UNLIKELY(!it)) {
5191
8
            return unexpected(it.error());
5192
8
        }
5193
5194
270
        return read_string_view_impl(range, *it, value);
5195
278
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
846
    {
5189
846
        auto it = read_source_impl(range, {specs});
5190
846
        if (SCN_UNLIKELY(!it)) {
5191
374
            return unexpected(it.error());
5192
374
        }
5193
5194
472
        return read_string_view_impl(range, *it, value);
5195
846
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
176
    {
5189
176
        auto it = read_source_impl(range, {specs});
5190
176
        if (SCN_UNLIKELY(!it)) {
5191
10
            return unexpected(it.error());
5192
10
        }
5193
5194
166
        return read_string_view_impl(range, *it, value);
5195
176
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
194
    {
5189
194
        auto it = read_source_impl(range, {specs});
5190
194
        if (SCN_UNLIKELY(!it)) {
5191
18
            return unexpected(it.error());
5192
18
        }
5193
5194
176
        return read_string_view_impl(range, *it, value);
5195
194
    }
5196
5197
private:
5198
    struct specs_helper {
5199
4.48k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
3.37k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
1.11k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5200
5201
        constexpr bool is_char_set_in_literals(char ch) const
5202
268k
        {
5203
268k
            SCN_EXPECT(is_ascii_char(ch));
5204
268k
            const auto val =
5205
268k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
268k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
268k
                    (val % 8)) &
5208
268k
                   1u;
5209
268k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
258k
        {
5203
258k
            SCN_EXPECT(is_ascii_char(ch));
5204
258k
            const auto val =
5205
258k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
258k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
258k
                    (val % 8)) &
5208
258k
                   1u;
5209
258k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
10.1k
        {
5203
10.1k
            SCN_EXPECT(is_ascii_char(ch));
5204
10.1k
            const auto val =
5205
10.1k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
10.1k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
10.1k
                    (val % 8)) &
5208
10.1k
                   1u;
5209
10.1k
        }
5210
5211
        bool is_char_set_in_extra_literals(char32_t cp) const
5212
49.2k
        {
5213
            // TODO: binary search?
5214
49.2k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
49.2k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
49.2k
            return std::find_if(
5220
49.2k
                       nonascii.extra_ranges.begin(),
5221
49.2k
                       nonascii.extra_ranges.end(),
5222
8.69M
                       [cp_val](const auto& pair) noexcept {
5223
8.69M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.69M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.69M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
8.67M
                       [cp_val](const auto& pair) noexcept {
5223
8.67M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.67M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.67M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
20.2k
                       [cp_val](const auto& pair) noexcept {
5223
20.2k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
20.2k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
20.2k
                       }) != nonascii.extra_ranges.end();
5226
49.2k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
46.7k
        {
5213
            // TODO: binary search?
5214
46.7k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
46.7k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
46.7k
            return std::find_if(
5220
46.7k
                       nonascii.extra_ranges.begin(),
5221
46.7k
                       nonascii.extra_ranges.end(),
5222
46.7k
                       [cp_val](const auto& pair) noexcept {
5223
46.7k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
46.7k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
46.7k
                       }) != nonascii.extra_ranges.end();
5226
46.7k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
2.50k
        {
5213
            // TODO: binary search?
5214
2.50k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
2.50k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
2.50k
            return std::find_if(
5220
2.50k
                       nonascii.extra_ranges.begin(),
5221
2.50k
                       nonascii.extra_ranges.end(),
5222
2.50k
                       [cp_val](const auto& pair) noexcept {
5223
2.50k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
2.50k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
2.50k
                       }) != nonascii.extra_ranges.end();
5226
2.50k
        }
5227
5228
        scan_expected<void> handle_nonascii()
5229
4.48k
        {
5230
4.48k
            if (!specs.charset_has_nonascii) {
5231
954
                return {};
5232
954
            }
5233
5234
3.52k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.52k
            auto it = detail::to_address(charset_string.begin());
5236
3.52k
            auto set = detail::parse_presentation_set(
5237
3.52k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.52k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.52k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.52k
            SCN_ENSURE(set == charset_string);
5241
5242
3.52k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.52k
                      nonascii.extra_ranges.end());
5244
3.52k
            return {};
5245
3.52k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5229
3.37k
        {
5230
3.37k
            if (!specs.charset_has_nonascii) {
5231
588
                return {};
5232
588
            }
5233
5234
2.78k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
2.78k
            auto it = detail::to_address(charset_string.begin());
5236
2.78k
            auto set = detail::parse_presentation_set(
5237
2.78k
                it, detail::to_address(charset_string.end()), nonascii);
5238
2.78k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
2.78k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
2.78k
            SCN_ENSURE(set == charset_string);
5241
5242
2.78k
            std::sort(nonascii.extra_ranges.begin(),
5243
2.78k
                      nonascii.extra_ranges.end());
5244
2.78k
            return {};
5245
2.78k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5229
1.11k
        {
5230
1.11k
            if (!specs.charset_has_nonascii) {
5231
366
                return {};
5232
366
            }
5233
5234
744
            auto charset_string = specs.charset_string<SourceCharT>();
5235
744
            auto it = detail::to_address(charset_string.begin());
5236
744
            auto set = detail::parse_presentation_set(
5237
744
                it, detail::to_address(charset_string.end()), nonascii);
5238
744
            SCN_TRY_DISCARD(nonascii.get_error());
5239
744
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
744
            SCN_ENSURE(set == charset_string);
5241
5242
744
            std::sort(nonascii.extra_ranges.begin(),
5243
744
                      nonascii.extra_ranges.end());
5244
744
            return {};
5245
744
        }
5246
5247
        const detail::format_specs& specs;
5248
        nonascii_specs_handler nonascii;
5249
    };
5250
5251
    struct read_source_callback {
5252
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5253
14.1k
        {
5254
14.1k
            if (!is_ascii_char(ch)) {
5255
2.08k
                return false;
5256
2.08k
            }
5257
5258
12.0k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
14.1k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5253
10.3k
        {
5254
10.3k
            if (!is_ascii_char(ch)) {
5255
1.89k
                return false;
5256
1.89k
            }
5257
5258
8.49k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
10.3k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5253
3.74k
        {
5254
3.74k
            if (!is_ascii_char(ch)) {
5255
186
                return false;
5256
186
            }
5257
5258
3.55k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
3.74k
        }
5260
5261
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5262
306k
        {
5263
306k
            if (!is_ascii_char(cp)) {
5264
49.2k
                return helper.is_char_set_in_extra_literals(cp);
5265
49.2k
            }
5266
5267
256k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
306k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
297k
        {
5263
297k
            if (!is_ascii_char(cp)) {
5264
46.7k
                return helper.is_char_set_in_extra_literals(cp);
5265
46.7k
            }
5266
5267
250k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
297k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
9.04k
        {
5263
9.04k
            if (!is_ascii_char(cp)) {
5264
2.50k
                return helper.is_char_set_in_extra_literals(cp);
5265
2.50k
            }
5266
5267
6.54k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
9.04k
        }
5269
5270
        const specs_helper& helper;
5271
        detail::locale_ref loc{};
5272
    };
5273
5274
    template <typename Range>
5275
    auto read_source_impl(Range range, specs_helper helper) const
5276
        -> scan_expected<ranges::const_iterator_t<Range>>
5277
4.48k
    {
5278
4.48k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
4.48k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
4.48k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
4.48k
        read_source_callback cb_wrapper{helper};
5284
5285
4.48k
        if (accepts_nonascii) {
5286
306k
            const auto cb = [&](char32_t cp) {
5287
306k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
306k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
11.2k
            const auto cb = [&](char32_t cp) {
5287
11.2k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
11.2k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
285k
            const auto cb = [&](char32_t cp) {
5287
285k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
285k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.03k
            const auto cb = [&](char32_t cp) {
5287
4.03k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.03k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
5.01k
            const auto cb = [&](char32_t cp) {
5287
5.01k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
5.01k
            };
5289
5290
3.52k
            if (is_inverted) {
5291
840
                auto it = read_until_code_point(range, cb);
5292
840
                return check_nonempty(it, range);
5293
840
            }
5294
2.68k
            auto it = read_while_code_point(range, cb);
5295
2.68k
            return check_nonempty(it, range);
5296
3.52k
        }
5297
5298
14.1k
        const auto cb = [&](SourceCharT ch) {
5299
14.1k
            return cb_wrapper.on_ascii_only(ch);
5300
14.1k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
7.25k
        const auto cb = [&](SourceCharT ch) {
5299
7.25k
            return cb_wrapper.on_ascii_only(ch);
5300
7.25k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
3.13k
        const auto cb = [&](SourceCharT ch) {
5299
3.13k
            return cb_wrapper.on_ascii_only(ch);
5300
3.13k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.67k
        const auto cb = [&](SourceCharT ch) {
5299
1.67k
            return cb_wrapper.on_ascii_only(ch);
5300
1.67k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
2.07k
        const auto cb = [&](SourceCharT ch) {
5299
2.07k
            return cb_wrapper.on_ascii_only(ch);
5300
2.07k
        };
5301
5302
954
        if (is_inverted) {
5303
450
            auto it = read_until_code_unit(range, cb);
5304
450
            return check_nonempty(it, range);
5305
450
        }
5306
504
        auto it = read_while_code_unit(range, cb);
5307
504
        return check_nonempty(it, range);
5308
954
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
834
    {
5278
834
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
834
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
834
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
834
        read_source_callback cb_wrapper{helper};
5284
5285
834
        if (accepts_nonascii) {
5286
456
            const auto cb = [&](char32_t cp) {
5287
456
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
456
            };
5289
5290
456
            if (is_inverted) {
5291
222
                auto it = read_until_code_point(range, cb);
5292
222
                return check_nonempty(it, range);
5293
222
            }
5294
234
            auto it = read_while_code_point(range, cb);
5295
234
            return check_nonempty(it, range);
5296
456
        }
5297
5298
378
        const auto cb = [&](SourceCharT ch) {
5299
378
            return cb_wrapper.on_ascii_only(ch);
5300
378
        };
5301
5302
378
        if (is_inverted) {
5303
174
            auto it = read_until_code_unit(range, cb);
5304
174
            return check_nonempty(it, range);
5305
174
        }
5306
204
        auto it = read_while_code_unit(range, cb);
5307
204
        return check_nonempty(it, range);
5308
378
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
2.53k
    {
5278
2.53k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
2.53k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
2.53k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
2.53k
        read_source_callback cb_wrapper{helper};
5284
5285
2.53k
        if (accepts_nonascii) {
5286
2.32k
            const auto cb = [&](char32_t cp) {
5287
2.32k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
2.32k
            };
5289
5290
2.32k
            if (is_inverted) {
5291
216
                auto it = read_until_code_point(range, cb);
5292
216
                return check_nonempty(it, range);
5293
216
            }
5294
2.11k
            auto it = read_while_code_point(range, cb);
5295
2.11k
            return check_nonempty(it, range);
5296
2.32k
        }
5297
5298
210
        const auto cb = [&](SourceCharT ch) {
5299
210
            return cb_wrapper.on_ascii_only(ch);
5300
210
        };
5301
5302
210
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
114
        auto it = read_while_code_unit(range, cb);
5307
114
        return check_nonempty(it, range);
5308
210
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
528
    {
5278
528
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
528
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
528
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
528
        read_source_callback cb_wrapper{helper};
5284
5285
528
        if (accepts_nonascii) {
5286
342
            const auto cb = [&](char32_t cp) {
5287
342
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
342
            };
5289
5290
342
            if (is_inverted) {
5291
192
                auto it = read_until_code_point(range, cb);
5292
192
                return check_nonempty(it, range);
5293
192
            }
5294
150
            auto it = read_while_code_point(range, cb);
5295
150
            return check_nonempty(it, range);
5296
342
        }
5297
5298
186
        const auto cb = [&](SourceCharT ch) {
5299
186
            return cb_wrapper.on_ascii_only(ch);
5300
186
        };
5301
5302
186
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
90
        auto it = read_while_code_unit(range, cb);
5307
90
        return check_nonempty(it, range);
5308
186
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
582
    {
5278
582
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
582
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
582
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
582
        read_source_callback cb_wrapper{helper};
5284
5285
582
        if (accepts_nonascii) {
5286
402
            const auto cb = [&](char32_t cp) {
5287
402
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
402
            };
5289
5290
402
            if (is_inverted) {
5291
210
                auto it = read_until_code_point(range, cb);
5292
210
                return check_nonempty(it, range);
5293
210
            }
5294
192
            auto it = read_while_code_point(range, cb);
5295
192
            return check_nonempty(it, range);
5296
402
        }
5297
5298
180
        const auto cb = [&](SourceCharT ch) {
5299
180
            return cb_wrapper.on_ascii_only(ch);
5300
180
        };
5301
5302
180
        if (is_inverted) {
5303
84
            auto it = read_until_code_unit(range, cb);
5304
84
            return check_nonempty(it, range);
5305
84
        }
5306
96
        auto it = read_while_code_unit(range, cb);
5307
96
        return check_nonempty(it, range);
5308
180
    }
5309
5310
    template <typename Iterator, typename Range>
5311
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5312
                                                  Range range)
5313
4.48k
    {
5314
4.48k
        if (it == range.begin()) {
5315
1.23k
            return detail::unexpected_scan_error(
5316
1.23k
                scan_error::invalid_scanned_value,
5317
1.23k
                "No characters matched in [character set]");
5318
1.23k
        }
5319
5320
3.25k
        return it;
5321
4.48k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5313
834
    {
5314
834
        if (it == range.begin()) {
5315
24
            return detail::unexpected_scan_error(
5316
24
                scan_error::invalid_scanned_value,
5317
24
                "No characters matched in [character set]");
5318
24
        }
5319
5320
810
        return it;
5321
834
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5313
2.53k
    {
5314
2.53k
        if (it == range.begin()) {
5315
1.12k
            return detail::unexpected_scan_error(
5316
1.12k
                scan_error::invalid_scanned_value,
5317
1.12k
                "No characters matched in [character set]");
5318
1.12k
        }
5319
5320
1.41k
        return it;
5321
2.53k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5313
528
    {
5314
528
        if (it == range.begin()) {
5315
30
            return detail::unexpected_scan_error(
5316
30
                scan_error::invalid_scanned_value,
5317
30
                "No characters matched in [character set]");
5318
30
        }
5319
5320
498
        return it;
5321
528
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5313
582
    {
5314
582
        if (it == range.begin()) {
5315
54
            return detail::unexpected_scan_error(
5316
54
                scan_error::invalid_scanned_value,
5317
54
                "No characters matched in [character set]");
5318
54
        }
5319
5320
528
        return it;
5321
582
    }
5322
};
5323
5324
template <typename SourceCharT>
5325
class string_reader
5326
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5327
public:
5328
30.7k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5328
8.89k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5328
21.8k
    constexpr string_reader() = default;
5329
5330
    void check_specs_impl(const detail::format_specs& specs,
5331
                          reader_error_handler& eh)
5332
10.6k
    {
5333
10.6k
        detail::check_string_type_specs(specs, eh);
5334
5335
10.6k
        SCN_GCC_COMPAT_PUSH
5336
10.6k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
10.6k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
10.6k
        switch (specs.type) {
5340
3.35k
            case detail::presentation_type::none:
5341
3.35k
                m_type = reader_type::word;
5342
3.35k
                break;
5343
5344
1.02k
            case detail::presentation_type::string: {
5345
1.02k
                if (specs.align == detail::align_type::left ||
5346
1.02k
                    specs.align == detail::align_type::center) {
5347
660
                    m_type = reader_type::custom_word;
5348
660
                }
5349
360
                else {
5350
360
                    m_type = reader_type::word;
5351
360
                }
5352
1.02k
                break;
5353
0
            }
5354
5355
282
            case detail::presentation_type::character:
5356
282
                m_type = reader_type::character;
5357
282
                break;
5358
5359
4.48k
            case detail::presentation_type::string_set:
5360
4.48k
                m_type = reader_type::character_set;
5361
4.48k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
384
            case detail::presentation_type::regex_escaped:
5369
384
                m_type = reader_type::regex_escaped;
5370
384
                break;
5371
10.6k
#endif
5372
10.6k
        }
5373
5374
10.6k
        SCN_GCC_COMPAT_POP
5375
10.6k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
7.00k
    {
5333
7.00k
        detail::check_string_type_specs(specs, eh);
5334
5335
7.00k
        SCN_GCC_COMPAT_PUSH
5336
7.00k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
7.00k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
7.00k
        switch (specs.type) {
5340
1.78k
            case detail::presentation_type::none:
5341
1.78k
                m_type = reader_type::word;
5342
1.78k
                break;
5343
5344
732
            case detail::presentation_type::string: {
5345
732
                if (specs.align == detail::align_type::left ||
5346
732
                    specs.align == detail::align_type::center) {
5347
468
                    m_type = reader_type::custom_word;
5348
468
                }
5349
264
                else {
5350
264
                    m_type = reader_type::word;
5351
264
                }
5352
732
                break;
5353
0
            }
5354
5355
192
            case detail::presentation_type::character:
5356
192
                m_type = reader_type::character;
5357
192
                break;
5358
5359
3.37k
            case detail::presentation_type::string_set:
5360
3.37k
                m_type = reader_type::character_set;
5361
3.37k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
384
            case detail::presentation_type::regex_escaped:
5369
384
                m_type = reader_type::regex_escaped;
5370
384
                break;
5371
7.00k
#endif
5372
7.00k
        }
5373
5374
7.00k
        SCN_GCC_COMPAT_POP
5375
7.00k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
3.67k
    {
5333
3.67k
        detail::check_string_type_specs(specs, eh);
5334
5335
3.67k
        SCN_GCC_COMPAT_PUSH
5336
3.67k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
3.67k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
3.67k
        switch (specs.type) {
5340
1.56k
            case detail::presentation_type::none:
5341
1.56k
                m_type = reader_type::word;
5342
1.56k
                break;
5343
5344
288
            case detail::presentation_type::string: {
5345
288
                if (specs.align == detail::align_type::left ||
5346
288
                    specs.align == detail::align_type::center) {
5347
192
                    m_type = reader_type::custom_word;
5348
192
                }
5349
96
                else {
5350
96
                    m_type = reader_type::word;
5351
96
                }
5352
288
                break;
5353
0
            }
5354
5355
90
            case detail::presentation_type::character:
5356
90
                m_type = reader_type::character;
5357
90
                break;
5358
5359
1.11k
            case detail::presentation_type::string_set:
5360
1.11k
                m_type = reader_type::character_set;
5361
1.11k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
0
            case detail::presentation_type::regex:
5365
0
                m_type = reader_type::regex;
5366
0
                break;
5367
5368
0
            case detail::presentation_type::regex_escaped:
5369
0
                m_type = reader_type::regex_escaped;
5370
0
                break;
5371
3.67k
#endif
5372
3.67k
        }
5373
5374
3.67k
        SCN_GCC_COMPAT_POP
5375
3.67k
    }
5376
5377
    bool skip_ws_before_read() const
5378
33.8k
    {
5379
33.8k
        return m_type == reader_type::word;
5380
33.8k
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5378
11.1k
    {
5379
11.1k
        return m_type == reader_type::word;
5380
11.1k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5378
22.7k
    {
5379
22.7k
        return m_type == reader_type::word;
5380
22.7k
    }
5381
5382
    template <typename Range, typename Value>
5383
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5384
        -> scan_expected<ranges::const_iterator_t<Range>>
5385
20.0k
    {
5386
20.0k
        SCN_UNUSED(loc);
5387
20.0k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
20.0k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
6.04k
    {
5386
6.04k
        SCN_UNUSED(loc);
5387
6.04k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
6.04k
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
6.04k
    {
5386
6.04k
        SCN_UNUSED(loc);
5387
6.04k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
6.04k
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
6.04k
    {
5386
6.04k
        SCN_UNUSED(loc);
5387
6.04k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5389
5390
    template <typename Range, typename Value>
5391
    auto read_specs(Range range,
5392
                    const detail::format_specs& specs,
5393
                    Value& value,
5394
                    detail::locale_ref loc)
5395
        -> scan_expected<ranges::const_iterator_t<Range>>
5396
9.45k
    {
5397
9.45k
        SCN_UNUSED(loc);
5398
9.45k
        return read_impl(range, specs, value);
5399
9.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
808
    {
5397
808
        SCN_UNUSED(loc);
5398
808
        return read_impl(range, specs, value);
5399
808
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.34k
    {
5397
1.34k
        SCN_UNUSED(loc);
5398
1.34k
        return read_impl(range, specs, value);
5399
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
808
    {
5397
808
        SCN_UNUSED(loc);
5398
808
        return read_impl(range, specs, value);
5399
808
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.34k
    {
5397
1.34k
        SCN_UNUSED(loc);
5398
1.34k
        return read_impl(range, specs, value);
5399
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
808
    {
5397
808
        SCN_UNUSED(loc);
5398
808
        return read_impl(range, specs, value);
5399
808
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
1.34k
    {
5397
1.34k
        SCN_UNUSED(loc);
5398
1.34k
        return read_impl(range, specs, value);
5399
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
390
    {
5397
390
        SCN_UNUSED(loc);
5398
390
        return read_impl(range, specs, value);
5399
390
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
610
    {
5397
610
        SCN_UNUSED(loc);
5398
610
        return read_impl(range, specs, value);
5399
610
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
390
    {
5397
390
        SCN_UNUSED(loc);
5398
390
        return read_impl(range, specs, value);
5399
390
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
610
    {
5397
610
        SCN_UNUSED(loc);
5398
610
        return read_impl(range, specs, value);
5399
610
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
390
    {
5397
390
        SCN_UNUSED(loc);
5398
390
        return read_impl(range, specs, value);
5399
390
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
610
    {
5397
610
        SCN_UNUSED(loc);
5398
610
        return read_impl(range, specs, value);
5399
610
    }
5400
5401
protected:
5402
    enum class reader_type {
5403
        word,
5404
        custom_word,
5405
        character,
5406
        character_set,
5407
#if !SCN_DISABLE_REGEX
5408
        regex,
5409
        regex_escaped,
5410
#endif
5411
    };
5412
5413
    template <typename Range, typename Value>
5414
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5415
        -> scan_expected<ranges::const_iterator_t<Range>>
5416
9.45k
    {
5417
9.45k
        SCN_CLANG_PUSH
5418
9.45k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
9.45k
        switch (m_type) {
5421
3.58k
            case reader_type::word:
5422
3.58k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
648
            case reader_type::custom_word:
5425
648
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
648
                                                                   value);
5427
5428
258
            case reader_type::character:
5429
258
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
4.48k
            case reader_type::character_set:
5432
4.48k
                return character_set_reader_impl<SourceCharT>{}.read(
5433
4.48k
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
102
            case reader_type::regex:
5437
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
102
                    range, specs.charset_string<SourceCharT>(),
5439
102
                    specs.regexp_flags, value);
5440
5441
384
            case reader_type::regex_escaped:
5442
384
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
384
                    range,
5444
384
                    get_unescaped_regex_pattern(
5445
384
                        specs.charset_string<SourceCharT>()),
5446
384
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
9.45k
                SCN_UNREACHABLE;
5452
9.45k
        }
5453
5454
9.45k
        SCN_CLANG_POP
5455
9.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
808
    {
5417
808
        SCN_CLANG_PUSH
5418
808
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
808
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
60
            case reader_type::character:
5429
60
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
278
            case reader_type::character_set:
5432
278
                return character_set_reader_impl<SourceCharT>{}.read(
5433
278
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
808
                SCN_UNREACHABLE;
5452
808
        }
5453
5454
808
        SCN_CLANG_POP
5455
808
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.34k
    {
5417
1.34k
        SCN_CLANG_PUSH
5418
1.34k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.34k
        switch (m_type) {
5421
336
            case reader_type::word:
5422
336
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
846
            case reader_type::character_set:
5432
846
                return character_set_reader_impl<SourceCharT>{}.read(
5433
846
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
76
            case reader_type::regex_escaped:
5442
76
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
76
                    range,
5444
76
                    get_unescaped_regex_pattern(
5445
76
                        specs.charset_string<SourceCharT>()),
5446
76
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.34k
                SCN_UNREACHABLE;
5452
1.34k
        }
5453
5454
1.34k
        SCN_CLANG_POP
5455
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
808
    {
5417
808
        SCN_CLANG_PUSH
5418
808
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
808
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
60
            case reader_type::character:
5429
60
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
278
            case reader_type::character_set:
5432
278
                return character_set_reader_impl<SourceCharT>{}.read(
5433
278
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
808
                SCN_UNREACHABLE;
5452
808
        }
5453
5454
808
        SCN_CLANG_POP
5455
808
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.34k
    {
5417
1.34k
        SCN_CLANG_PUSH
5418
1.34k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.34k
        switch (m_type) {
5421
336
            case reader_type::word:
5422
336
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
846
            case reader_type::character_set:
5432
846
                return character_set_reader_impl<SourceCharT>{}.read(
5433
846
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
76
            case reader_type::regex_escaped:
5442
76
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
76
                    range,
5444
76
                    get_unescaped_regex_pattern(
5445
76
                        specs.charset_string<SourceCharT>()),
5446
76
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.34k
                SCN_UNREACHABLE;
5452
1.34k
        }
5453
5454
1.34k
        SCN_CLANG_POP
5455
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
808
    {
5417
808
        SCN_CLANG_PUSH
5418
808
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
808
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
60
            case reader_type::character:
5429
60
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
278
            case reader_type::character_set:
5432
278
                return character_set_reader_impl<SourceCharT>{}.read(
5433
278
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
808
                SCN_UNREACHABLE;
5452
808
        }
5453
5454
808
        SCN_CLANG_POP
5455
808
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.34k
    {
5417
1.34k
        SCN_CLANG_PUSH
5418
1.34k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.34k
        switch (m_type) {
5421
336
            case reader_type::word:
5422
336
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
846
            case reader_type::character_set:
5432
846
                return character_set_reader_impl<SourceCharT>{}.read(
5433
846
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
76
            case reader_type::regex_escaped:
5442
76
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
76
                    range,
5444
76
                    get_unescaped_regex_pattern(
5445
76
                        specs.charset_string<SourceCharT>()),
5446
76
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.34k
                SCN_UNREACHABLE;
5452
1.34k
        }
5453
5454
1.34k
        SCN_CLANG_POP
5455
1.34k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
390
    {
5417
390
        SCN_CLANG_PUSH
5418
390
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
390
        switch (m_type) {
5421
158
            case reader_type::word:
5422
158
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
30
            case reader_type::custom_word:
5425
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
30
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
176
            case reader_type::character_set:
5432
176
                return character_set_reader_impl<SourceCharT>{}.read(
5433
176
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
390
                SCN_UNREACHABLE;
5452
390
        }
5453
5454
390
        SCN_CLANG_POP
5455
390
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
610
    {
5417
610
        SCN_CLANG_PUSH
5418
610
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
610
        switch (m_type) {
5421
384
            case reader_type::word:
5422
384
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
194
            case reader_type::character_set:
5432
194
                return character_set_reader_impl<SourceCharT>{}.read(
5433
194
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
610
                SCN_UNREACHABLE;
5452
610
        }
5453
5454
610
        SCN_CLANG_POP
5455
610
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
390
    {
5417
390
        SCN_CLANG_PUSH
5418
390
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
390
        switch (m_type) {
5421
158
            case reader_type::word:
5422
158
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
30
            case reader_type::custom_word:
5425
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
30
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
176
            case reader_type::character_set:
5432
176
                return character_set_reader_impl<SourceCharT>{}.read(
5433
176
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
390
                SCN_UNREACHABLE;
5452
390
        }
5453
5454
390
        SCN_CLANG_POP
5455
390
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
610
    {
5417
610
        SCN_CLANG_PUSH
5418
610
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
610
        switch (m_type) {
5421
384
            case reader_type::word:
5422
384
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
194
            case reader_type::character_set:
5432
194
                return character_set_reader_impl<SourceCharT>{}.read(
5433
194
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
610
                SCN_UNREACHABLE;
5452
610
        }
5453
5454
610
        SCN_CLANG_POP
5455
610
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
390
    {
5417
390
        SCN_CLANG_PUSH
5418
390
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
390
        switch (m_type) {
5421
158
            case reader_type::word:
5422
158
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
30
            case reader_type::custom_word:
5425
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
30
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
176
            case reader_type::character_set:
5432
176
                return character_set_reader_impl<SourceCharT>{}.read(
5433
176
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
390
                SCN_UNREACHABLE;
5452
390
        }
5453
5454
390
        SCN_CLANG_POP
5455
390
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
610
    {
5417
610
        SCN_CLANG_PUSH
5418
610
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
610
        switch (m_type) {
5421
384
            case reader_type::word:
5422
384
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
194
            case reader_type::character_set:
5432
194
                return character_set_reader_impl<SourceCharT>{}.read(
5433
194
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
610
                SCN_UNREACHABLE;
5452
610
        }
5453
5454
610
        SCN_CLANG_POP
5455
610
    }
5456
5457
    reader_type m_type{reader_type::word};
5458
};
5459
5460
template <typename SourceCharT>
5461
class reader_impl_for_string : public string_reader<SourceCharT> {};
5462
5463
/////////////////////////////////////////////////////////////////
5464
// Boolean reader
5465
/////////////////////////////////////////////////////////////////
5466
5467
struct bool_reader_base {
5468
    enum options_type { allow_text = 1, allow_numeric = 2 };
5469
5470
6.67k
    constexpr bool_reader_base() = default;
5471
1.63k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5472
5473
    template <typename Range>
5474
    auto read_classic(Range range, bool& value) const
5475
        -> scan_expected<ranges::const_iterator_t<Range>>
5476
8.21k
    {
5477
8.21k
        scan_error err{scan_error::invalid_scanned_value,
5478
8.21k
                       "Failed to read boolean"};
5479
5480
8.21k
        if (m_options & allow_numeric) {
5481
7.88k
            if (auto r = read_numeric(range, value)) {
5482
62
                return *r;
5483
62
            }
5484
7.82k
            else {
5485
7.82k
                err = r.error();
5486
7.82k
            }
5487
7.88k
        }
5488
5489
8.15k
        if (m_options & allow_text) {
5490
8.04k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
8.04k
            else {
5494
8.04k
                err = r.error();
5495
8.04k
            }
5496
8.04k
        }
5497
5498
8.15k
        return unexpected(err);
5499
8.15k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
1.04k
    {
5477
1.04k
        scan_error err{scan_error::invalid_scanned_value,
5478
1.04k
                       "Failed to read boolean"};
5479
5480
1.04k
        if (m_options & allow_numeric) {
5481
910
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
910
            else {
5485
910
                err = r.error();
5486
910
            }
5487
910
        }
5488
5489
1.04k
        if (m_options & allow_text) {
5490
1.01k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
1.01k
            else {
5494
1.01k
                err = r.error();
5495
1.01k
            }
5496
1.01k
        }
5497
5498
1.04k
        return unexpected(err);
5499
1.04k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
444
    {
5477
444
        scan_error err{scan_error::invalid_scanned_value,
5478
444
                       "Failed to read boolean"};
5479
5480
444
        if (m_options & allow_numeric) {
5481
336
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
336
            else {
5485
336
                err = r.error();
5486
336
            }
5487
336
        }
5488
5489
444
        if (m_options & allow_text) {
5490
416
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
416
            else {
5494
416
                err = r.error();
5495
416
            }
5496
416
        }
5497
5498
444
        return unexpected(err);
5499
444
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
6.51k
    {
5477
6.51k
        scan_error err{scan_error::invalid_scanned_value,
5478
6.51k
                       "Failed to read boolean"};
5479
5480
6.51k
        if (m_options & allow_numeric) {
5481
6.46k
            if (auto r = read_numeric(range, value)) {
5482
44
                return *r;
5483
44
            }
5484
6.41k
            else {
5485
6.41k
                err = r.error();
5486
6.41k
            }
5487
6.46k
        }
5488
5489
6.46k
        if (m_options & allow_text) {
5490
6.42k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
6.42k
            else {
5494
6.42k
                err = r.error();
5495
6.42k
            }
5496
6.42k
        }
5497
5498
6.46k
        return unexpected(err);
5499
6.46k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
222
    {
5477
222
        scan_error err{scan_error::invalid_scanned_value,
5478
222
                       "Failed to read boolean"};
5479
5480
222
        if (m_options & allow_numeric) {
5481
182
            if (auto r = read_numeric(range, value)) {
5482
18
                return *r;
5483
18
            }
5484
164
            else {
5485
164
                err = r.error();
5486
164
            }
5487
182
        }
5488
5489
204
        if (m_options & allow_text) {
5490
180
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
180
            else {
5494
180
                err = r.error();
5495
180
            }
5496
180
        }
5497
5498
204
        return unexpected(err);
5499
204
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5500
5501
protected:
5502
    template <typename Range>
5503
    auto read_numeric(Range range, bool& value) const
5504
        -> scan_expected<ranges::const_iterator_t<Range>>
5505
7.97k
    {
5506
7.97k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
72
            value = false;
5508
72
            return *r;
5509
72
        }
5510
7.90k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
7.90k
        return detail::unexpected_scan_error(
5516
7.90k
            scan_error::invalid_scanned_value,
5517
7.90k
            "Failed to read numeric boolean value: No match");
5518
7.90k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
924
    {
5506
924
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
924
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
924
        return detail::unexpected_scan_error(
5516
924
            scan_error::invalid_scanned_value,
5517
924
            "Failed to read numeric boolean value: No match");
5518
924
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
352
    {
5506
352
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
352
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
352
        return detail::unexpected_scan_error(
5516
352
            scan_error::invalid_scanned_value,
5517
352
            "Failed to read numeric boolean value: No match");
5518
352
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
6.48k
    {
5506
6.48k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
50
            value = false;
5508
50
            return *r;
5509
50
        }
5510
6.43k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
6.43k
        return detail::unexpected_scan_error(
5516
6.43k
            scan_error::invalid_scanned_value,
5517
6.43k
            "Failed to read numeric boolean value: No match");
5518
6.43k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
208
    {
5506
208
        if (auto r = read_matching_code_unit(range, '0')) {
5507
22
            value = false;
5508
22
            return *r;
5509
22
        }
5510
186
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
186
        return detail::unexpected_scan_error(
5516
186
            scan_error::invalid_scanned_value,
5517
186
            "Failed to read numeric boolean value: No match");
5518
186
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5519
5520
    template <typename Range>
5521
    auto read_textual_classic(Range range, bool& value) const
5522
        -> scan_expected<ranges::const_iterator_t<Range>>
5523
8.04k
    {
5524
8.04k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
8.04k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
8.04k
        return detail::unexpected_scan_error(
5534
8.04k
            scan_error::invalid_scanned_value,
5535
8.04k
            "Failed to read textual boolean value: No match");
5536
8.04k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
1.01k
    {
5524
1.01k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
1.01k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
1.01k
        return detail::unexpected_scan_error(
5534
1.01k
            scan_error::invalid_scanned_value,
5535
1.01k
            "Failed to read textual boolean value: No match");
5536
1.01k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
416
    {
5524
416
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
416
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
416
        return detail::unexpected_scan_error(
5534
416
            scan_error::invalid_scanned_value,
5535
416
            "Failed to read textual boolean value: No match");
5536
416
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
6.42k
    {
5524
6.42k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
6.42k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
6.42k
        return detail::unexpected_scan_error(
5534
6.42k
            scan_error::invalid_scanned_value,
5535
6.42k
            "Failed to read textual boolean value: No match");
5536
6.42k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
180
    {
5524
180
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
180
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
180
        return detail::unexpected_scan_error(
5534
180
            scan_error::invalid_scanned_value,
5535
180
            "Failed to read textual boolean value: No match");
5536
180
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5537
5538
    unsigned m_options{allow_text | allow_numeric};
5539
};
5540
5541
template <typename CharT>
5542
struct bool_reader : public bool_reader_base {
5543
    using bool_reader_base::bool_reader_base;
5544
5545
#if !SCN_DISABLE_LOCALE
5546
    template <typename Range>
5547
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5548
        -> scan_expected<ranges::const_iterator_t<Range>>
5549
94
    {
5550
94
        scan_error err{scan_error::invalid_scanned_value,
5551
94
                       "Failed to read boolean"};
5552
5553
94
        if (m_options & allow_numeric) {
5554
84
            if (auto r = read_numeric(range, value)) {
5555
10
                return *r;
5556
10
            }
5557
74
            else {
5558
74
                err = r.error();
5559
74
            }
5560
84
        }
5561
5562
84
        if (m_options & allow_text) {
5563
48
            auto stdloc = loc.get<std::locale>();
5564
48
            const auto& numpunct =
5565
48
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
48
            const auto truename = numpunct.truename();
5567
48
            const auto falsename = numpunct.falsename();
5568
5569
48
            if (auto r =
5570
48
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
48
            else {
5574
48
                err = r.error();
5575
48
            }
5576
48
        }
5577
5578
84
        return unexpected(err);
5579
84
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
16
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
16
            else {
5558
16
                err = r.error();
5559
16
            }
5560
16
        }
5561
5562
18
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
14
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
14
            else {
5558
14
                err = r.error();
5559
14
            }
5560
14
        }
5561
5562
18
        if (m_options & allow_text) {
5563
8
            auto stdloc = loc.get<std::locale>();
5564
8
            const auto& numpunct =
5565
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
8
            const auto truename = numpunct.truename();
5567
8
            const auto falsename = numpunct.falsename();
5568
5569
8
            if (auto r =
5570
8
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
8
            else {
5574
8
                err = r.error();
5575
8
            }
5576
8
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
28
    {
5550
28
        scan_error err{scan_error::invalid_scanned_value,
5551
28
                       "Failed to read boolean"};
5552
5553
28
        if (m_options & allow_numeric) {
5554
26
            if (auto r = read_numeric(range, value)) {
5555
4
                return *r;
5556
4
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
26
        }
5561
5562
24
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
30
    {
5550
30
        scan_error err{scan_error::invalid_scanned_value,
5551
30
                       "Failed to read boolean"};
5552
5553
30
        if (m_options & allow_numeric) {
5554
28
            if (auto r = read_numeric(range, value)) {
5555
6
                return *r;
5556
6
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
28
        }
5561
5562
24
        if (m_options & allow_text) {
5563
12
            auto stdloc = loc.get<std::locale>();
5564
12
            const auto& numpunct =
5565
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
12
            const auto truename = numpunct.truename();
5567
12
            const auto falsename = numpunct.falsename();
5568
5569
12
            if (auto r =
5570
12
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
12
            else {
5574
12
                err = r.error();
5575
12
            }
5576
12
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5580
#endif
5581
5582
protected:
5583
    template <typename Range>
5584
    auto read_textual_custom(Range range,
5585
                             bool& value,
5586
                             std::basic_string_view<CharT> truename,
5587
                             std::basic_string_view<CharT> falsename) const
5588
        -> scan_expected<ranges::const_iterator_t<Range>>
5589
48
    {
5590
48
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
48
        const auto shorter = std::pair{
5592
48
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
48
        const auto longer = std::pair{
5594
48
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
48
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
48
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
48
        return detail::unexpected_scan_error(
5606
48
            scan_error::invalid_scanned_value,
5607
48
            "Failed to read textual boolean: No match");
5608
48
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5589
8
    {
5590
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
8
        const auto shorter = std::pair{
5592
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
8
        const auto longer = std::pair{
5594
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
8
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
8
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
8
        return detail::unexpected_scan_error(
5606
8
            scan_error::invalid_scanned_value,
5607
8
            "Failed to read textual boolean: No match");
5608
8
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5589
12
    {
5590
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
12
        const auto shorter = std::pair{
5592
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
12
        const auto longer = std::pair{
5594
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
12
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
12
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
12
        return detail::unexpected_scan_error(
5606
12
            scan_error::invalid_scanned_value,
5607
12
            "Failed to read textual boolean: No match");
5608
12
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5609
};
5610
5611
template <typename CharT>
5612
class reader_impl_for_bool
5613
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5614
public:
5615
    reader_impl_for_bool() = default;
5616
5617
    void check_specs_impl(const detail::format_specs& specs,
5618
                          reader_error_handler& eh)
5619
3.66k
    {
5620
3.66k
        detail::check_bool_type_specs(specs, eh);
5621
3.66k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
2.37k
    {
5620
2.37k
        detail::check_bool_type_specs(specs, eh);
5621
2.37k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
1.28k
    {
5620
1.28k
        detail::check_bool_type_specs(specs, eh);
5621
1.28k
    }
5622
5623
    template <typename Range>
5624
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5625
        -> scan_expected<ranges::const_iterator_t<Range>>
5626
6.67k
    {
5627
6.67k
        SCN_UNUSED(loc);
5628
5629
6.67k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
6.67k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
628
    {
5627
628
        SCN_UNUSED(loc);
5628
5629
628
        return bool_reader<CharT>{}.read_classic(range, value);
5630
628
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
6.04k
    {
5627
6.04k
        SCN_UNUSED(loc);
5628
5629
6.04k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
6.04k
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5631
5632
    template <typename Range>
5633
    auto read_specs(Range range,
5634
                    const detail::format_specs& specs,
5635
                    bool& value,
5636
                    detail::locale_ref loc) const
5637
        -> scan_expected<ranges::const_iterator_t<Range>>
5638
1.63k
    {
5639
1.63k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
1.63k
#if !SCN_DISABLE_LOCALE
5642
1.63k
        if (specs.localized) {
5643
94
            return rd.read_localized(range, loc, value);
5644
94
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
1.54k
        return rd.read_classic(range, value);
5650
1.63k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
462
    {
5639
462
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
462
#if !SCN_DISABLE_LOCALE
5642
462
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
444
        return rd.read_classic(range, value);
5650
462
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
430
    {
5639
430
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
430
#if !SCN_DISABLE_LOCALE
5642
430
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
412
        return rd.read_classic(range, value);
5650
430
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
250
    {
5639
250
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
250
#if !SCN_DISABLE_LOCALE
5642
250
        if (specs.localized) {
5643
28
            return rd.read_localized(range, loc, value);
5644
28
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
222
        return rd.read_classic(range, value);
5650
250
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
494
    {
5639
494
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
494
#if !SCN_DISABLE_LOCALE
5642
494
        if (specs.localized) {
5643
30
            return rd.read_localized(range, loc, value);
5644
30
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
464
        return rd.read_classic(range, value);
5650
494
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5651
5652
    static constexpr unsigned get_options(const detail::format_specs& specs)
5653
1.63k
    {
5654
1.63k
        SCN_GCC_COMPAT_PUSH
5655
1.63k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
1.63k
        switch (specs.type) {
5658
340
            case detail::presentation_type::string:
5659
340
                return bool_reader_base::allow_text;
5660
5661
38
            case detail::presentation_type::int_generic:
5662
80
            case detail::presentation_type::int_binary:
5663
94
            case detail::presentation_type::int_decimal:
5664
120
            case detail::presentation_type::int_hex:
5665
150
            case detail::presentation_type::int_octal:
5666
170
            case detail::presentation_type::int_unsigned_decimal:
5667
170
                return bool_reader_base::allow_numeric;
5668
5669
1.12k
            default:
5670
1.12k
                return bool_reader_base::allow_text |
5671
1.12k
                       bool_reader_base::allow_numeric;
5672
1.63k
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
1.63k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
892
    {
5654
892
        SCN_GCC_COMPAT_PUSH
5655
892
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
892
        switch (specs.type) {
5658
244
            case detail::presentation_type::string:
5659
244
                return bool_reader_base::allow_text;
5660
5661
14
            case detail::presentation_type::int_generic:
5662
28
            case detail::presentation_type::int_binary:
5663
34
            case detail::presentation_type::int_decimal:
5664
44
            case detail::presentation_type::int_hex:
5665
58
            case detail::presentation_type::int_octal:
5666
64
            case detail::presentation_type::int_unsigned_decimal:
5667
64
                return bool_reader_base::allow_numeric;
5668
5669
584
            default:
5670
584
                return bool_reader_base::allow_text |
5671
584
                       bool_reader_base::allow_numeric;
5672
892
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
892
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
744
    {
5654
744
        SCN_GCC_COMPAT_PUSH
5655
744
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
744
        switch (specs.type) {
5658
96
            case detail::presentation_type::string:
5659
96
                return bool_reader_base::allow_text;
5660
5661
24
            case detail::presentation_type::int_generic:
5662
52
            case detail::presentation_type::int_binary:
5663
60
            case detail::presentation_type::int_decimal:
5664
76
            case detail::presentation_type::int_hex:
5665
92
            case detail::presentation_type::int_octal:
5666
106
            case detail::presentation_type::int_unsigned_decimal:
5667
106
                return bool_reader_base::allow_numeric;
5668
5669
542
            default:
5670
542
                return bool_reader_base::allow_text |
5671
542
                       bool_reader_base::allow_numeric;
5672
744
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
744
    }
5676
};
5677
5678
/////////////////////////////////////////////////////////////////
5679
// Character (code unit, code point) reader
5680
/////////////////////////////////////////////////////////////////
5681
5682
template <typename CharT>
5683
class code_unit_reader {
5684
public:
5685
    template <typename SourceRange>
5686
    auto read(const SourceRange& range, CharT& ch)
5687
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5688
7.78k
    {
5689
7.78k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
7.78k
        ch = *range.begin();
5691
7.78k
        return it;
5692
7.78k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5688
332
    {
5689
332
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
332
        ch = *range.begin();
5691
332
        return it;
5692
332
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5688
888
    {
5689
888
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
888
        ch = *range.begin();
5691
888
        return it;
5692
888
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5688
156
    {
5689
156
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
156
        ch = *range.begin();
5691
156
        return it;
5692
156
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5688
6.41k
    {
5689
6.41k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
6.41k
        ch = *range.begin();
5691
6.41k
        return it;
5692
6.41k
    }
5693
};
5694
5695
template <typename CharT>
5696
class code_point_reader;
5697
5698
template <>
5699
class code_point_reader<char32_t> {
5700
public:
5701
    template <typename SourceRange>
5702
    auto read(const SourceRange& range, char32_t& cp)
5703
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5704
0
    {
5705
0
        auto result = read_code_point_into(range);
5706
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5707
0
            return detail::unexpected_scan_error(
5708
0
                scan_error::invalid_scanned_value, "Invalid code point");
5709
0
        }
5710
0
        cp = detail::decode_code_point_exhaustive_valid(
5711
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5712
0
                result.codepoint.data(), result.codepoint.size()});
5713
0
        return result.iterator;
5714
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5715
};
5716
5717
template <>
5718
class code_point_reader<wchar_t> {
5719
public:
5720
    template <typename SourceRange>
5721
    auto read(const SourceRange& range, wchar_t& ch)
5722
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5723
0
    {
5724
0
        code_point_reader<char32_t> reader{};
5725
0
        char32_t cp{};
5726
0
        auto ret = reader.read(range, cp);
5727
0
        if (SCN_UNLIKELY(!ret)) {
5728
0
            return unexpected(ret.error());
5729
0
        }
5730
5731
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5732
0
        ch = encoded_ch;
5733
0
        return *ret;
5734
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5735
};
5736
5737
template <typename ValueCharT>
5738
class char_reader_base {
5739
public:
5740
    constexpr char_reader_base() = default;
5741
5742
    bool skip_ws_before_read() const
5743
9.07k
    {
5744
9.07k
        return false;
5745
9.07k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5743
1.87k
    {
5744
1.87k
        return false;
5745
1.87k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5743
7.20k
    {
5744
7.20k
        return false;
5745
7.20k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5746
5747
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5748
3.56k
    {
5749
3.56k
        reader_error_handler eh{};
5750
3.56k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
0
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
3.56k
        else {
5754
3.56k
            detail::check_char_type_specs(specs, eh);
5755
3.56k
        }
5756
3.56k
        if (SCN_UNLIKELY(!eh)) {
5757
2.29k
            return detail::unexpected_scan_error(
5758
2.29k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.29k
        }
5760
1.27k
        return {};
5761
3.56k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
2.33k
    {
5749
2.33k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
2.33k
        else {
5754
2.33k
            detail::check_char_type_specs(specs, eh);
5755
2.33k
        }
5756
2.33k
        if (SCN_UNLIKELY(!eh)) {
5757
1.68k
            return detail::unexpected_scan_error(
5758
1.68k
                scan_error::invalid_format_string, eh.m_msg);
5759
1.68k
        }
5760
656
        return {};
5761
2.33k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
1.22k
    {
5749
1.22k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
1.22k
        else {
5754
1.22k
            detail::check_char_type_specs(specs, eh);
5755
1.22k
        }
5756
1.22k
        if (SCN_UNLIKELY(!eh)) {
5757
612
            return detail::unexpected_scan_error(
5758
612
                scan_error::invalid_format_string, eh.m_msg);
5759
612
        }
5760
614
        return {};
5761
1.22k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5762
};
5763
5764
template <typename CharT>
5765
class reader_impl_for_char : public char_reader_base<char> {
5766
public:
5767
    template <typename Range>
5768
    auto read_default(Range range, char& value, detail::locale_ref loc)
5769
        -> scan_expected<ranges::const_iterator_t<Range>>
5770
1.22k
    {
5771
1.22k
        SCN_UNUSED(loc);
5772
1.22k
        if constexpr (std::is_same_v<CharT, char>) {
5773
1.22k
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
0
        else {
5776
0
            SCN_UNUSED(range);
5777
0
            SCN_EXPECT(false);
5778
0
            SCN_UNREACHABLE;
5779
0
        }
5780
1.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5770
332
    {
5771
332
        SCN_UNUSED(loc);
5772
332
        if constexpr (std::is_same_v<CharT, char>) {
5773
332
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
332
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5770
888
    {
5771
888
        SCN_UNUSED(loc);
5772
888
        if constexpr (std::is_same_v<CharT, char>) {
5773
888
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
888
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5781
5782
    template <typename Range>
5783
    auto read_specs(Range range,
5784
                    const detail::format_specs& specs,
5785
                    char& value,
5786
                    detail::locale_ref loc)
5787
        -> scan_expected<ranges::const_iterator_t<Range>>
5788
650
    {
5789
650
        if (specs.type == detail::presentation_type::none ||
5790
650
            specs.type == detail::presentation_type::character) {
5791
592
            return read_default(range, value, loc);
5792
592
        }
5793
5794
58
        reader_impl_for_int<CharT> reader{};
5795
58
        signed char tmp_value{};
5796
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
58
        value = static_cast<char>(tmp_value);
5798
58
        return ret;
5799
650
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5788
368
    {
5789
368
        if (specs.type == detail::presentation_type::none ||
5790
368
            specs.type == detail::presentation_type::character) {
5791
332
            return read_default(range, value, loc);
5792
332
        }
5793
5794
36
        reader_impl_for_int<CharT> reader{};
5795
36
        signed char tmp_value{};
5796
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
36
        value = static_cast<char>(tmp_value);
5798
36
        return ret;
5799
368
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5788
282
    {
5789
282
        if (specs.type == detail::presentation_type::none ||
5790
282
            specs.type == detail::presentation_type::character) {
5791
260
            return read_default(range, value, loc);
5792
260
        }
5793
5794
22
        reader_impl_for_int<CharT> reader{};
5795
22
        signed char tmp_value{};
5796
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
22
        value = static_cast<char>(tmp_value);
5798
22
        return ret;
5799
282
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5800
};
5801
5802
template <typename CharT>
5803
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5804
public:
5805
    template <typename Range>
5806
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5807
        -> scan_expected<ranges::const_iterator_t<Range>>
5808
6.56k
    {
5809
6.56k
        SCN_UNUSED(loc);
5810
6.56k
        if constexpr (std::is_same_v<CharT, char>) {
5811
0
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
6.56k
        else {
5814
6.56k
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
6.56k
        }
5816
6.56k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5808
156
    {
5809
156
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
156
        else {
5814
156
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
156
        }
5816
156
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5808
6.41k
    {
5809
6.41k
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
6.41k
        else {
5814
6.41k
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
6.41k
        }
5816
6.41k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5817
5818
    template <typename Range>
5819
    auto read_specs(Range range,
5820
                    const detail::format_specs& specs,
5821
                    wchar_t& value,
5822
                    detail::locale_ref loc)
5823
        -> scan_expected<ranges::const_iterator_t<Range>>
5824
612
    {
5825
612
        if (specs.type == detail::presentation_type::none ||
5826
612
            specs.type == detail::presentation_type::character) {
5827
520
            return read_default(range, value, loc);
5828
520
        }
5829
5830
92
        reader_impl_for_int<CharT> reader{};
5831
92
        using integer_type =
5832
92
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
92
        integer_type tmp_value{};
5834
92
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
92
        value = static_cast<wchar_t>(tmp_value);
5836
92
        return ret;
5837
612
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5824
200
    {
5825
200
        if (specs.type == detail::presentation_type::none ||
5826
200
            specs.type == detail::presentation_type::character) {
5827
156
            return read_default(range, value, loc);
5828
156
        }
5829
5830
44
        reader_impl_for_int<CharT> reader{};
5831
44
        using integer_type =
5832
44
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
44
        integer_type tmp_value{};
5834
44
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
44
        value = static_cast<wchar_t>(tmp_value);
5836
44
        return ret;
5837
200
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5824
412
    {
5825
412
        if (specs.type == detail::presentation_type::none ||
5826
412
            specs.type == detail::presentation_type::character) {
5827
364
            return read_default(range, value, loc);
5828
364
        }
5829
5830
48
        reader_impl_for_int<CharT> reader{};
5831
48
        using integer_type =
5832
48
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
48
        integer_type tmp_value{};
5834
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
48
        value = static_cast<wchar_t>(tmp_value);
5836
48
        return ret;
5837
412
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5838
};
5839
5840
template <typename CharT>
5841
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5842
public:
5843
    template <typename Range>
5844
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5845
        -> scan_expected<ranges::const_iterator_t<Range>>
5846
0
    {
5847
0
        SCN_UNUSED(loc);
5848
0
        return code_point_reader<char32_t>{}.read(range, value);
5849
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5850
5851
    template <typename Range>
5852
    auto read_specs(Range range,
5853
                    const detail::format_specs& specs,
5854
                    char32_t& value,
5855
                    detail::locale_ref loc)
5856
        -> scan_expected<ranges::const_iterator_t<Range>>
5857
0
    {
5858
0
        SCN_UNUSED(specs);
5859
0
        return read_default(range, value, loc);
5860
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5861
};
5862
5863
/////////////////////////////////////////////////////////////////
5864
// Pointer reader
5865
/////////////////////////////////////////////////////////////////
5866
5867
template <typename CharT>
5868
class reader_impl_for_voidptr {
5869
public:
5870
    constexpr reader_impl_for_voidptr() = default;
5871
5872
    bool skip_ws_before_read() const
5873
7.85k
    {
5874
7.85k
        return true;
5875
7.85k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5873
1.23k
    {
5874
1.23k
        return true;
5875
1.23k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5873
6.62k
    {
5874
6.62k
        return true;
5875
6.62k
    }
5876
5877
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5878
3.56k
    {
5879
3.56k
        reader_error_handler eh{};
5880
3.56k
        detail::check_pointer_type_specs(specs, eh);
5881
3.56k
        if (SCN_UNLIKELY(!eh)) {
5882
2.42k
            return detail::unexpected_scan_error(
5883
2.42k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.42k
        }
5885
1.13k
        return {};
5886
3.56k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
2.33k
    {
5879
2.33k
        reader_error_handler eh{};
5880
2.33k
        detail::check_pointer_type_specs(specs, eh);
5881
2.33k
        if (SCN_UNLIKELY(!eh)) {
5882
1.73k
            return detail::unexpected_scan_error(
5883
1.73k
                scan_error::invalid_format_string, eh.m_msg);
5884
1.73k
        }
5885
602
        return {};
5886
2.33k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
1.22k
    {
5879
1.22k
        reader_error_handler eh{};
5880
1.22k
        detail::check_pointer_type_specs(specs, eh);
5881
1.22k
        if (SCN_UNLIKELY(!eh)) {
5882
694
            return detail::unexpected_scan_error(
5883
694
                scan_error::invalid_format_string, eh.m_msg);
5884
694
        }
5885
532
        return {};
5886
1.22k
    }
5887
5888
    template <typename Range>
5889
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5890
        -> scan_expected<ranges::const_iterator_t<Range>>
5891
7.77k
    {
5892
7.77k
        detail::format_specs specs{};
5893
7.77k
        specs.type = detail::presentation_type::int_hex;
5894
5895
7.77k
        std::uintptr_t intvalue{};
5896
7.77k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
48
                                                                intvalue, loc));
5898
48
        value = reinterpret_cast<void*>(intvalue);
5899
48
        return result;
5900
7.77k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
892
    {
5892
892
        detail::format_specs specs{};
5893
892
        specs.type = detail::presentation_type::int_hex;
5894
5895
892
        std::uintptr_t intvalue{};
5896
892
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
892
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
310
    {
5892
310
        detail::format_specs specs{};
5893
310
        specs.type = detail::presentation_type::int_hex;
5894
5895
310
        std::uintptr_t intvalue{};
5896
310
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
310
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
6.41k
    {
5892
6.41k
        detail::format_specs specs{};
5893
6.41k
        specs.type = detail::presentation_type::int_hex;
5894
5895
6.41k
        std::uintptr_t intvalue{};
5896
6.41k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
38
                                                                intvalue, loc));
5898
38
        value = reinterpret_cast<void*>(intvalue);
5899
38
        return result;
5900
6.41k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
154
    {
5892
154
        detail::format_specs specs{};
5893
154
        specs.type = detail::presentation_type::int_hex;
5894
5895
154
        std::uintptr_t intvalue{};
5896
154
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
10
                                                                intvalue, loc));
5898
10
        value = reinterpret_cast<void*>(intvalue);
5899
10
        return result;
5900
154
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5901
5902
    template <typename Range>
5903
    auto read_specs(Range range,
5904
                    const detail::format_specs& specs,
5905
                    void*& value,
5906
                    detail::locale_ref loc)
5907
        -> scan_expected<ranges::const_iterator_t<Range>>
5908
1.09k
    {
5909
1.09k
        SCN_UNUSED(specs);
5910
1.09k
        return read_default(range, value, loc);
5911
1.09k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
310
    {
5909
310
        SCN_UNUSED(specs);
5910
310
        return read_default(range, value, loc);
5911
310
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
264
    {
5909
264
        SCN_UNUSED(specs);
5910
264
        return read_default(range, value, loc);
5911
264
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
154
    {
5909
154
        SCN_UNUSED(specs);
5910
154
        return read_default(range, value, loc);
5911
154
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
368
    {
5909
368
        SCN_UNUSED(specs);
5910
368
        return read_default(range, value, loc);
5911
368
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5912
};
5913
5914
/////////////////////////////////////////////////////////////////
5915
// Argument readers
5916
/////////////////////////////////////////////////////////////////
5917
5918
template <typename Range>
5919
auto skip_ws_before_if_required(bool is_required, Range range)
5920
    -> eof_expected<ranges::iterator_t<Range>>
5921
60.0k
{
5922
60.0k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
60.0k
    if (!is_required) {
5927
6.67k
        return range.begin();
5928
6.67k
    }
5929
5930
53.4k
    return skip_classic_whitespace(range);
5931
60.0k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
5.65k
{
5922
5.65k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
5.65k
    if (!is_required) {
5927
628
        return range.begin();
5928
628
    }
5929
5930
5.02k
    return skip_classic_whitespace(range);
5931
5.65k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
54.4k
{
5922
54.4k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
54.4k
    if (!is_required) {
5927
6.04k
        return range.begin();
5928
6.04k
    }
5929
5930
48.3k
    return skip_classic_whitespace(range);
5931
54.4k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5932
5933
template <typename T, typename CharT>
5934
constexpr auto make_reader()
5935
30.7k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
10.2k
                       std::is_same_v<T, std::wstring_view>) {
5950
10.2k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
20.4k
                       std::is_same_v<T, std::wstring>) {
5954
20.4k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
30.7k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.96k
                       std::is_same_v<T, std::wstring>) {
5954
2.96k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.96k
                       std::is_same_v<T, std::wstring>) {
5954
2.96k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
2.96k
                       std::is_same_v<T, std::wstring_view>) {
5950
2.96k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5935
7.27k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
7.27k
                       std::is_same_v<T, std::wstring>) {
5954
7.27k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
7.27k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5935
7.27k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
7.27k
                       std::is_same_v<T, std::wstring>) {
5954
7.27k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
7.27k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5935
7.27k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
7.27k
                       std::is_same_v<T, std::wstring_view>) {
5950
7.27k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
7.27k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5988
5989
template <typename Context>
5990
struct default_arg_reader {
5991
    using context_type = Context;
5992
    using char_type = typename context_type::char_type;
5993
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5994
5995
    using range_type = typename context_type::range_type;
5996
    using iterator = ranges::iterator_t<range_type>;
5997
5998
    template <typename Reader, typename Range, typename T>
5999
    auto impl(Reader& rd, Range rng, T& value)
6000
        -> scan_expected<ranges::iterator_t<Range>>
6001
60.0k
    {
6002
60.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
60.0k
                        .transform_error(make_eof_scan_error));
6004
60.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
60.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
6.04k
    {
6002
6.04k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
6.04k
                        .transform_error(make_eof_scan_error));
6004
6.04k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
6.04k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
6006
6007
    template <typename T>
6008
    scan_expected<iterator> operator()(T& value)
6009
60.0k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
60.0k
                          basic_contiguous_scan_context<char_type>>) {
6014
60.0k
            auto rd = make_reader<T, char_type>();
6015
60.0k
            return impl(rd, range, value);
6016
        }
6017
0
        else if constexpr (!detail::is_type_disabled<T>) {
6018
0
            auto rd = make_reader<T, char_type>();
6019
0
            if (!is_segment_contiguous(range)) {
6020
0
                return impl(rd, range, value);
6021
0
            }
6022
0
            auto crange = get_as_contiguous(range);
6023
0
            SCN_TRY(it, impl(rd, crange, value));
6024
0
            return ranges::next(range.begin(),
6025
0
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
60.0k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6009
6.04k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
6.04k
                          basic_contiguous_scan_context<char_type>>) {
6014
6.04k
            auto rd = make_reader<T, char_type>();
6015
6.04k
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
6.04k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6032
6033
    detail::default_context<char_type> make_custom_ctx()
6034
0
    {
6035
        if constexpr (std::is_same_v<
6036
                          context_type,
6037
0
                          basic_contiguous_scan_context<char_type>>) {
6038
0
            auto it =
6039
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6040
0
                    std::basic_string_view<char_type>(range.data(),
6041
0
                                                      range.size()),
6042
0
                    0};
6043
0
            return {it, args, loc};
6044
        }
6045
0
        else {
6046
0
            return {range.begin(), args, loc};
6047
0
        }
6048
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
6049
6050
    scan_expected<iterator> operator()(
6051
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6052
0
    {
6053
0
        if constexpr (!detail::is_type_disabled<void>) {
6054
0
            basic_scan_parse_context<char_type> parse_ctx{
6055
0
                source_tag<range_type>, {}};
6056
0
            auto ctx = make_custom_ctx();
6057
0
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6058
6059
            if constexpr (std::is_same_v<
6060
                              context_type,
6061
0
                              basic_contiguous_scan_context<char_type>>) {
6062
0
                return range.begin() + ctx.begin().position();
6063
            }
6064
0
            else {
6065
0
                return ctx.begin();
6066
0
            }
6067
        }
6068
        else {
6069
            SCN_EXPECT(false);
6070
            SCN_UNREACHABLE;
6071
        }
6072
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
6073
6074
    range_type range;
6075
    args_type args;
6076
    detail::locale_ref loc;
6077
};
6078
6079
template <typename Iterator>
6080
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6081
6082
template <typename Range>
6083
auto skip_fill(Range range,
6084
               std::ptrdiff_t max_width,
6085
               const detail::fill_type& fill,
6086
               bool want_skipped_width)
6087
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6088
4.19k
{
6089
4.19k
    using char_type = detail::char_t<Range>;
6090
4.19k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
4.19k
    if (fill.size() <= sizeof(char_type)) {
6093
2.78k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
4.51k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
900
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
2.15k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
708
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
758
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
2.78k
        if (max_width == 0) {
6097
1.50k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.50k
            if (want_skipped_width) {
6100
250
                auto prefix_width =
6101
250
                    static_cast<std::ptrdiff_t>(
6102
250
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
250
                    ranges::distance(range.begin(), it);
6104
250
                return result_type{it, prefix_width};
6105
250
            }
6106
1.25k
            return result_type{it, 0};
6107
1.50k
        }
6108
6109
1.28k
        auto max_width_view = take_width(range, max_width);
6110
1.28k
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
1.28k
        if (want_skipped_width) {
6113
1.28k
            return result_type{w_it.base(), max_width - w_it.count()};
6114
1.28k
        }
6115
0
        return result_type{w_it.base(), 0};
6116
1.28k
    }
6117
6118
1.40k
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
1.40k
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
1.08k
    auto max_width_view = take_width(range, max_width);
6132
1.08k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
1.08k
    if (want_skipped_width) {
6135
1.08k
        return result_type{w_it.base(), max_width - w_it.count()};
6136
1.08k
    }
6137
0
    return result_type{w_it.base(), 0};
6138
1.08k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.13k
{
6089
1.13k
    using char_type = detail::char_t<Range>;
6090
1.13k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.13k
    if (fill.size() <= sizeof(char_type)) {
6093
482
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
482
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
482
        if (max_width == 0) {
6097
378
            auto it = read_while_code_unit(range, pred);
6098
6099
378
            if (want_skipped_width) {
6100
112
                auto prefix_width =
6101
112
                    static_cast<std::ptrdiff_t>(
6102
112
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
112
                    ranges::distance(range.begin(), it);
6104
112
                return result_type{it, prefix_width};
6105
112
            }
6106
266
            return result_type{it, 0};
6107
378
        }
6108
6109
104
        auto max_width_view = take_width(range, max_width);
6110
104
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
104
        if (want_skipped_width) {
6113
104
            return result_type{w_it.base(), max_width - w_it.count()};
6114
104
        }
6115
0
        return result_type{w_it.base(), 0};
6116
104
    }
6117
6118
648
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
648
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
332
    auto max_width_view = take_width(range, max_width);
6132
332
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
332
    if (want_skipped_width) {
6135
332
        return result_type{w_it.base(), max_width - w_it.count()};
6136
332
    }
6137
0
    return result_type{w_it.base(), 0};
6138
332
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.32k
{
6089
1.32k
    using char_type = detail::char_t<Range>;
6090
1.32k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.32k
    if (fill.size() <= sizeof(char_type)) {
6093
1.32k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
1.32k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
1.32k
        if (max_width == 0) {
6097
1.12k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.12k
            if (want_skipped_width) {
6100
138
                auto prefix_width =
6101
138
                    static_cast<std::ptrdiff_t>(
6102
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
138
                    ranges::distance(range.begin(), it);
6104
138
                return result_type{it, prefix_width};
6105
138
            }
6106
984
            return result_type{it, 0};
6107
1.12k
        }
6108
6109
198
        auto max_width_view = take_width(range, max_width);
6110
198
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
198
        if (want_skipped_width) {
6113
198
            return result_type{w_it.base(), max_width - w_it.count()};
6114
198
        }
6115
0
        return result_type{w_it.base(), 0};
6116
198
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.24k
{
6089
1.24k
    using char_type = detail::char_t<Range>;
6090
1.24k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.24k
    if (fill.size() <= sizeof(char_type)) {
6093
492
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
492
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
492
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
492
        auto max_width_view = take_width(range, max_width);
6110
492
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
492
        if (want_skipped_width) {
6113
492
            return result_type{w_it.base(), max_width - w_it.count()};
6114
492
        }
6115
0
        return result_type{w_it.base(), 0};
6116
492
    }
6117
6118
756
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
756
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
756
    auto max_width_view = take_width(range, max_width);
6132
756
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
756
    if (want_skipped_width) {
6135
756
        return result_type{w_it.base(), max_width - w_it.count()};
6136
756
    }
6137
0
    return result_type{w_it.base(), 0};
6138
756
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
494
{
6089
494
    using char_type = detail::char_t<Range>;
6090
494
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
494
    if (fill.size() <= sizeof(char_type)) {
6093
494
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
494
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
494
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
494
        auto max_width_view = take_width(range, max_width);
6110
494
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
494
        if (want_skipped_width) {
6113
494
            return result_type{w_it.base(), max_width - w_it.count()};
6114
494
        }
6115
0
        return result_type{w_it.base(), 0};
6116
494
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
6139
6140
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6141
    const detail::format_specs& specs,
6142
    std::ptrdiff_t prefix_width,
6143
    std::ptrdiff_t value_width,
6144
    std::ptrdiff_t postfix_width)
6145
7.78k
{
6146
7.78k
    if (specs.width != 0) {
6147
2.09k
        if (prefix_width + value_width + postfix_width < specs.width) {
6148
906
            return detail::unexpected_scan_error(
6149
906
                scan_error::length_too_short,
6150
906
                "Scanned value too narrow, width did not exceed what "
6151
906
                "was specified in the format string");
6152
906
        }
6153
2.09k
    }
6154
6.87k
    if (specs.precision != 0) {
6155
        // Ensured by take_width_view
6156
2.92k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6157
2.92k
                   specs.precision);
6158
2.92k
    }
6159
6.87k
    return {};
6160
6.87k
}
6161
6162
template <typename Context>
6163
struct arg_reader {
6164
    using context_type = Context;
6165
    using char_type = typename context_type::char_type;
6166
6167
    using range_type = typename context_type::range_type;
6168
    using iterator = ranges::iterator_t<range_type>;
6169
6170
    template <typename Range>
6171
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6172
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6173
17.7k
    {
6174
17.7k
        const bool need_skipped_width =
6175
17.7k
            specs.width != 0 || specs.precision != 0;
6176
17.7k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
17.7k
        if (specs.align == detail::align_type::right ||
6180
17.7k
            specs.align == detail::align_type::center) {
6181
2.98k
            return skip_fill(rng, specs.precision, specs.fill,
6182
2.98k
                             need_skipped_width);
6183
2.98k
        }
6184
14.7k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
7.80k
            if (specs.precision != 0) {
6188
3.47k
                auto max_width_view = take_width(rng, specs.precision);
6189
3.47k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
3.11k
                                  .transform_error(make_eof_scan_error));
6191
3.11k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
3.47k
            }
6193
8.66k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
8.66k
                            make_eof_scan_error));
6195
6196
8.66k
            if (need_skipped_width) {
6197
2.94k
                return result_type{
6198
2.94k
                    it,
6199
2.94k
                    calculate_text_width(make_contiguous_buffer(
6200
2.94k
                                             ranges::subrange{rng.begin(), it})
6201
2.94k
                                             .view())};
6202
2.94k
            }
6203
1.39k
            return result_type{it, 0};
6204
8.66k
        }
6205
6206
6.99k
        return result_type{rng.begin(), 0};
6207
14.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
4.92k
    {
6174
4.92k
        const bool need_skipped_width =
6175
4.92k
            specs.width != 0 || specs.precision != 0;
6176
4.92k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.92k
        if (specs.align == detail::align_type::right ||
6180
4.92k
            specs.align == detail::align_type::center) {
6181
1.24k
            return skip_fill(rng, specs.precision, specs.fill,
6182
1.24k
                             need_skipped_width);
6183
1.24k
        }
6184
3.68k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.20k
            if (specs.precision != 0) {
6188
2.20k
                auto max_width_view = take_width(rng, specs.precision);
6189
2.20k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.96k
                                  .transform_error(make_eof_scan_error));
6191
1.96k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
2.20k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
1.47k
        return result_type{rng.begin(), 0};
6207
3.68k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
5.88k
    {
6174
5.88k
        const bool need_skipped_width =
6175
5.88k
            specs.width != 0 || specs.precision != 0;
6176
5.88k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.88k
        if (specs.align == detail::align_type::right ||
6180
5.88k
            specs.align == detail::align_type::center) {
6181
470
            return skip_fill(rng, specs.precision, specs.fill,
6182
470
                             need_skipped_width);
6183
470
        }
6184
5.41k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.71k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
3.43k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
3.43k
                            make_eof_scan_error));
6195
6196
3.43k
            if (need_skipped_width) {
6197
1.09k
                return result_type{
6198
1.09k
                    it,
6199
1.09k
                    calculate_text_width(make_contiguous_buffer(
6200
1.09k
                                             ranges::subrange{rng.begin(), it})
6201
1.09k
                                             .view())};
6202
1.09k
            }
6203
622
            return result_type{it, 0};
6204
3.43k
        }
6205
6206
3.70k
        return result_type{rng.begin(), 0};
6207
5.41k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
2.53k
    {
6174
2.53k
        const bool need_skipped_width =
6175
2.53k
            specs.width != 0 || specs.precision != 0;
6176
2.53k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
2.53k
        if (specs.align == detail::align_type::right ||
6180
2.53k
            specs.align == detail::align_type::center) {
6181
494
            return skip_fill(rng, specs.precision, specs.fill,
6182
494
                             need_skipped_width);
6183
494
        }
6184
2.04k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.26k
            if (specs.precision != 0) {
6188
1.26k
                auto max_width_view = take_width(rng, specs.precision);
6189
1.26k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.15k
                                  .transform_error(make_eof_scan_error));
6191
1.15k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
1.26k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
776
        return result_type{rng.begin(), 0};
6207
2.04k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
4.42k
    {
6174
4.42k
        const bool need_skipped_width =
6175
4.42k
            specs.width != 0 || specs.precision != 0;
6176
4.42k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.42k
        if (specs.align == detail::align_type::right ||
6180
4.42k
            specs.align == detail::align_type::center) {
6181
768
            return skip_fill(rng, specs.precision, specs.fill,
6182
768
                             need_skipped_width);
6183
768
        }
6184
3.65k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.61k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
5.23k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
5.23k
                            make_eof_scan_error));
6195
6196
5.23k
            if (need_skipped_width) {
6197
1.84k
                return result_type{
6198
1.84k
                    it,
6199
1.84k
                    calculate_text_width(make_contiguous_buffer(
6200
1.84k
                                             ranges::subrange{rng.begin(), it})
6201
1.84k
                                             .view())};
6202
1.84k
            }
6203
768
            return result_type{it, 0};
6204
5.23k
        }
6205
6206
1.04k
        return result_type{rng.begin(), 0};
6207
3.65k
    }
6208
6209
    template <typename Range>
6210
    auto impl_postfix(Range rng,
6211
                      bool rd_skip_ws_before_read,
6212
                      std::ptrdiff_t prefix_width,
6213
                      std::ptrdiff_t value_width)
6214
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6215
5.70k
    {
6216
5.70k
        const bool need_skipped_width =
6217
5.70k
            specs.width != 0 || specs.precision != 0;
6218
5.70k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
5.70k
        if (specs.align == detail::align_type::left ||
6221
5.70k
            specs.align == detail::align_type::center) {
6222
1.50k
            if (specs.precision != 0 &&
6223
1.50k
                specs.precision - value_width - prefix_width == 0) {
6224
296
                return result_type{rng.begin(), 0};
6225
296
            }
6226
1.21k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
1.21k
                             specs.fill, need_skipped_width);
6228
1.50k
        }
6229
4.19k
        if (specs.align == detail::align_type::none &&
6230
4.19k
            !rd_skip_ws_before_read &&
6231
4.19k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
3.32k
             (specs.precision != 0 &&
6233
2.79k
              prefix_width + value_width < specs.precision))) {
6234
1.53k
            if (specs.precision != 0) {
6235
1.00k
                const auto initial_width =
6236
1.00k
                    specs.precision - prefix_width - value_width;
6237
1.00k
                auto max_width_view = take_width(rng, initial_width);
6238
1.00k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
1.00k
                                  .transform_error(make_eof_scan_error));
6240
1.00k
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
1.00k
            }
6242
1.06k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
1.06k
                            make_eof_scan_error));
6244
6245
1.06k
            if (need_skipped_width) {
6246
534
                return result_type{
6247
534
                    it,
6248
534
                    calculate_text_width(make_contiguous_buffer(
6249
534
                                             ranges::subrange{rng.begin(), it})
6250
534
                                             .view())};
6251
534
            }
6252
0
            return result_type{it, 0};
6253
1.06k
        }
6254
2.66k
        return result_type{rng.begin(), 0};
6255
4.19k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
3.29k
    {
6216
3.29k
        const bool need_skipped_width =
6217
3.29k
            specs.width != 0 || specs.precision != 0;
6218
3.29k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
3.29k
        if (specs.align == detail::align_type::left ||
6221
3.29k
            specs.align == detail::align_type::center) {
6222
814
            if (specs.precision != 0 &&
6223
814
                specs.precision - value_width - prefix_width == 0) {
6224
154
                return result_type{rng.begin(), 0};
6225
154
            }
6226
660
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
660
                             specs.fill, need_skipped_width);
6228
814
        }
6229
2.48k
        if (specs.align == detail::align_type::none &&
6230
2.48k
            !rd_skip_ws_before_read &&
6231
2.48k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
2.01k
             (specs.precision != 0 &&
6233
1.86k
              prefix_width + value_width < specs.precision))) {
6234
724
            if (specs.precision != 0) {
6235
566
                const auto initial_width =
6236
566
                    specs.precision - prefix_width - value_width;
6237
566
                auto max_width_view = take_width(rng, initial_width);
6238
566
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
566
                                  .transform_error(make_eof_scan_error));
6240
566
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
566
            }
6242
316
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
316
                            make_eof_scan_error));
6244
6245
316
            if (need_skipped_width) {
6246
158
                return result_type{
6247
158
                    it,
6248
158
                    calculate_text_width(make_contiguous_buffer(
6249
158
                                             ranges::subrange{rng.begin(), it})
6250
158
                                             .view())};
6251
158
            }
6252
0
            return result_type{it, 0};
6253
316
        }
6254
1.76k
        return result_type{rng.begin(), 0};
6255
2.48k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
2.40k
    {
6216
2.40k
        const bool need_skipped_width =
6217
2.40k
            specs.width != 0 || specs.precision != 0;
6218
2.40k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
2.40k
        if (specs.align == detail::align_type::left ||
6221
2.40k
            specs.align == detail::align_type::center) {
6222
694
            if (specs.precision != 0 &&
6223
694
                specs.precision - value_width - prefix_width == 0) {
6224
142
                return result_type{rng.begin(), 0};
6225
142
            }
6226
552
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
552
                             specs.fill, need_skipped_width);
6228
694
        }
6229
1.71k
        if (specs.align == detail::align_type::none &&
6230
1.71k
            !rd_skip_ws_before_read &&
6231
1.71k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.30k
             (specs.precision != 0 &&
6233
932
              prefix_width + value_width < specs.precision))) {
6234
810
            if (specs.precision != 0) {
6235
434
                const auto initial_width =
6236
434
                    specs.precision - prefix_width - value_width;
6237
434
                auto max_width_view = take_width(rng, initial_width);
6238
434
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
434
                                  .transform_error(make_eof_scan_error));
6240
434
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
434
            }
6242
752
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
752
                            make_eof_scan_error));
6244
6245
752
            if (need_skipped_width) {
6246
376
                return result_type{
6247
376
                    it,
6248
376
                    calculate_text_width(make_contiguous_buffer(
6249
376
                                             ranges::subrange{rng.begin(), it})
6250
376
                                             .view())};
6251
376
            }
6252
0
            return result_type{it, 0};
6253
752
        }
6254
904
        return result_type{rng.begin(), 0};
6255
1.71k
    }
6256
6257
    template <typename Reader, typename Range, typename T>
6258
    auto impl(Reader& rd, Range rng, T& value)
6259
        -> scan_expected<ranges::iterator_t<Range>>
6260
17.7k
    {
6261
17.7k
        const bool need_skipped_width =
6262
17.7k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
17.7k
        auto it = rng.begin();
6266
17.7k
        std::ptrdiff_t prefix_width = 0;
6267
17.7k
        if (specs.precision != 0) {
6268
7.46k
            auto max_width_view = take_width(rng, specs.precision);
6269
7.46k
            SCN_TRY(prefix_result,
6270
7.11k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
7.11k
            it = prefix_result.first.base();
6272
7.11k
            prefix_width = prefix_result.second;
6273
7.11k
        }
6274
10.3k
        else {
6275
10.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
10.3k
            std::tie(it, prefix_width) = prefix_result;
6277
10.3k
        }
6278
17.4k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
17.4k
        std::ptrdiff_t value_width = 0;
6282
17.4k
        if (specs.precision != 0) {
6283
7.11k
            if (specs.precision <= prefix_width) {
6284
104
                return detail::unexpected_scan_error(
6285
104
                    scan_error::invalid_fill,
6286
104
                    "Too many fill characters before value, "
6287
104
                    "precision exceeded before reading value");
6288
104
            }
6289
6290
7.00k
            const auto initial_width = specs.precision - prefix_width;
6291
7.00k
            auto max_width_view =
6292
7.00k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
7.00k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
2.92k
            it = w_it.base();
6295
2.92k
            value_width = initial_width - w_it.count();
6296
2.92k
        }
6297
10.3k
        else {
6298
10.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
4.85k
                                             specs, value, loc));
6300
6301
4.85k
            if (need_skipped_width) {
6302
2.03k
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
2.03k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
2.03k
                        .view()));
6305
2.03k
            }
6306
4.85k
        }
6307
6308
        // Read postfix
6309
7.78k
        std::ptrdiff_t postfix_width = 0;
6310
7.78k
        if (it != rng.end()) {
6311
5.70k
            SCN_TRY(postfix_result,
6312
5.70k
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
5.70k
                                 rd.skip_ws_before_read(), prefix_width,
6314
5.70k
                                 value_width));
6315
5.70k
            std::tie(it, postfix_width) = postfix_result;
6316
5.70k
        }
6317
6318
7.78k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
7.78k
            specs, prefix_width, value_width, postfix_width));
6320
6.87k
        return it;
6321
7.78k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
678
    {
6261
678
        const bool need_skipped_width =
6262
678
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
678
        auto it = rng.begin();
6266
678
        std::ptrdiff_t prefix_width = 0;
6267
678
        if (specs.precision != 0) {
6268
386
            auto max_width_view = take_width(rng, specs.precision);
6269
386
            SCN_TRY(prefix_result,
6270
354
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
354
            it = prefix_result.first.base();
6272
354
            prefix_width = prefix_result.second;
6273
354
        }
6274
292
        else {
6275
292
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
292
            std::tie(it, prefix_width) = prefix_result;
6277
292
        }
6278
646
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
646
        std::ptrdiff_t value_width = 0;
6282
646
        if (specs.precision != 0) {
6283
354
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
348
            const auto initial_width = specs.precision - prefix_width;
6291
348
            auto max_width_view =
6292
348
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
348
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
292
        else {
6298
292
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
678
    {
6261
678
        const bool need_skipped_width =
6262
678
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
678
        auto it = rng.begin();
6266
678
        std::ptrdiff_t prefix_width = 0;
6267
678
        if (specs.precision != 0) {
6268
386
            auto max_width_view = take_width(rng, specs.precision);
6269
386
            SCN_TRY(prefix_result,
6270
354
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
354
            it = prefix_result.first.base();
6272
354
            prefix_width = prefix_result.second;
6273
354
        }
6274
292
        else {
6275
292
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
292
            std::tie(it, prefix_width) = prefix_result;
6277
292
        }
6278
646
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
646
        std::ptrdiff_t value_width = 0;
6282
646
        if (specs.precision != 0) {
6283
354
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
348
            const auto initial_width = specs.precision - prefix_width;
6291
348
            auto max_width_view =
6292
348
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
348
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
292
        else {
6298
292
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
602
    {
6261
602
        const bool need_skipped_width =
6262
602
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
602
        auto it = rng.begin();
6266
602
        std::ptrdiff_t prefix_width = 0;
6267
602
        if (specs.precision != 0) {
6268
338
            auto max_width_view = take_width(rng, specs.precision);
6269
338
            SCN_TRY(prefix_result,
6270
314
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
314
            it = prefix_result.first.base();
6272
314
            prefix_width = prefix_result.second;
6273
314
        }
6274
264
        else {
6275
264
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
264
            std::tie(it, prefix_width) = prefix_result;
6277
264
        }
6278
578
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
578
        std::ptrdiff_t value_width = 0;
6282
578
        if (specs.precision != 0) {
6283
314
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
310
            const auto initial_width = specs.precision - prefix_width;
6291
310
            auto max_width_view =
6292
310
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
310
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
264
        else {
6298
264
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
938
    {
6261
938
        const bool need_skipped_width =
6262
938
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
938
        auto it = rng.begin();
6266
938
        std::ptrdiff_t prefix_width = 0;
6267
938
        if (specs.precision != 0) {
6268
508
            auto max_width_view = take_width(rng, specs.precision);
6269
508
            SCN_TRY(prefix_result,
6270
472
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
472
            it = prefix_result.first.base();
6272
472
            prefix_width = prefix_result.second;
6273
472
        }
6274
430
        else {
6275
430
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
430
            std::tie(it, prefix_width) = prefix_result;
6277
430
        }
6278
902
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
902
        std::ptrdiff_t value_width = 0;
6282
902
        if (specs.precision != 0) {
6283
472
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
462
            const auto initial_width = specs.precision - prefix_width;
6291
462
            auto max_width_view =
6292
462
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
462
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
430
        else {
6298
430
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
656
    {
6261
656
        const bool need_skipped_width =
6262
656
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
656
        auto it = rng.begin();
6266
656
        std::ptrdiff_t prefix_width = 0;
6267
656
        if (specs.precision != 0) {
6268
374
            auto max_width_view = take_width(rng, specs.precision);
6269
374
            SCN_TRY(prefix_result,
6270
374
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
374
            it = prefix_result.first.base();
6272
374
            prefix_width = prefix_result.second;
6273
374
        }
6274
282
        else {
6275
282
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
282
            std::tie(it, prefix_width) = prefix_result;
6277
282
        }
6278
656
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
656
        std::ptrdiff_t value_width = 0;
6282
656
        if (specs.precision != 0) {
6283
374
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
368
            const auto initial_width = specs.precision - prefix_width;
6291
368
            auto max_width_view =
6292
368
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
368
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
332
            it = w_it.base();
6295
332
            value_width = initial_width - w_it.count();
6296
332
        }
6297
282
        else {
6298
282
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
260
                                             specs, value, loc));
6300
6301
260
            if (need_skipped_width) {
6302
194
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
194
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
194
                        .view()));
6305
194
            }
6306
260
        }
6307
6308
        // Read postfix
6309
592
        std::ptrdiff_t postfix_width = 0;
6310
592
        if (it != rng.end()) {
6311
592
            SCN_TRY(postfix_result,
6312
592
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
592
                                 rd.skip_ws_before_read(), prefix_width,
6314
592
                                 value_width));
6315
592
            std::tie(it, postfix_width) = postfix_result;
6316
592
        }
6317
6318
592
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
592
            specs, prefix_width, value_width, postfix_width));
6320
422
        return it;
6321
592
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
692
    {
6261
692
        const bool need_skipped_width =
6262
692
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
692
        auto it = rng.begin();
6266
692
        std::ptrdiff_t prefix_width = 0;
6267
692
        if (specs.precision != 0) {
6268
398
            auto max_width_view = take_width(rng, specs.precision);
6269
398
            SCN_TRY(prefix_result,
6270
368
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
368
            it = prefix_result.first.base();
6272
368
            prefix_width = prefix_result.second;
6273
368
        }
6274
294
        else {
6275
294
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
294
            std::tie(it, prefix_width) = prefix_result;
6277
294
        }
6278
662
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
662
        std::ptrdiff_t value_width = 0;
6282
662
        if (specs.precision != 0) {
6283
368
            if (specs.precision <= prefix_width) {
6284
8
                return detail::unexpected_scan_error(
6285
8
                    scan_error::invalid_fill,
6286
8
                    "Too many fill characters before value, "
6287
8
                    "precision exceeded before reading value");
6288
8
            }
6289
6290
360
            const auto initial_width = specs.precision - prefix_width;
6291
360
            auto max_width_view =
6292
360
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
360
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
294
        else {
6298
294
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
846
            auto max_width_view = take_width(rng, specs.precision);
6269
846
            SCN_TRY(prefix_result,
6270
818
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
818
            it = prefix_result.first.base();
6272
818
            prefix_width = prefix_result.second;
6273
818
        }
6274
1.34k
        else {
6275
1.34k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.34k
            std::tie(it, prefix_width) = prefix_result;
6277
1.34k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
818
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
808
            const auto initial_width = specs.precision - prefix_width;
6291
808
            auto max_width_view =
6292
808
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
808
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.34k
        else {
6298
1.34k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
778
                                             specs, value, loc));
6300
6301
778
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
778
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
902
            SCN_TRY(postfix_result,
6312
902
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
902
                                 rd.skip_ws_before_read(), prefix_width,
6314
902
                                 value_width));
6315
902
            std::tie(it, postfix_width) = postfix_result;
6316
902
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
846
            auto max_width_view = take_width(rng, specs.precision);
6269
846
            SCN_TRY(prefix_result,
6270
818
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
818
            it = prefix_result.first.base();
6272
818
            prefix_width = prefix_result.second;
6273
818
        }
6274
1.34k
        else {
6275
1.34k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.34k
            std::tie(it, prefix_width) = prefix_result;
6277
1.34k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
818
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
808
            const auto initial_width = specs.precision - prefix_width;
6291
808
            auto max_width_view =
6292
808
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
808
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.34k
        else {
6298
1.34k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
778
                                             specs, value, loc));
6300
6301
778
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
778
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
902
            SCN_TRY(postfix_result,
6312
902
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
902
                                 rd.skip_ws_before_read(), prefix_width,
6314
902
                                 value_width));
6315
902
            std::tie(it, postfix_width) = postfix_result;
6316
902
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
846
            auto max_width_view = take_width(rng, specs.precision);
6269
846
            SCN_TRY(prefix_result,
6270
818
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
818
            it = prefix_result.first.base();
6272
818
            prefix_width = prefix_result.second;
6273
818
        }
6274
1.34k
        else {
6275
1.34k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.34k
            std::tie(it, prefix_width) = prefix_result;
6277
1.34k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
818
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
808
            const auto initial_width = specs.precision - prefix_width;
6291
808
            auto max_width_view =
6292
808
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
808
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.34k
        else {
6298
1.34k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
778
                                             specs, value, loc));
6300
6301
778
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
778
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
902
            SCN_TRY(postfix_result,
6312
902
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
902
                                 rd.skip_ws_before_read(), prefix_width,
6314
902
                                 value_width));
6315
902
            std::tie(it, postfix_width) = postfix_result;
6316
902
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
668
    {
6261
668
        const bool need_skipped_width =
6262
668
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
668
        auto it = rng.begin();
6266
668
        std::ptrdiff_t prefix_width = 0;
6267
668
        if (specs.precision != 0) {
6268
230
            auto max_width_view = take_width(rng, specs.precision);
6269
230
            SCN_TRY(prefix_result,
6270
210
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
210
            it = prefix_result.first.base();
6272
210
            prefix_width = prefix_result.second;
6273
210
        }
6274
438
        else {
6275
438
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
438
            std::tie(it, prefix_width) = prefix_result;
6277
438
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
210
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
208
            const auto initial_width = specs.precision - prefix_width;
6291
208
            auto max_width_view =
6292
208
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
208
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
438
        else {
6298
438
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
50
                                             specs, value, loc));
6300
6301
50
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
50
        }
6307
6308
        // Read postfix
6309
72
        std::ptrdiff_t postfix_width = 0;
6310
72
        if (it != rng.end()) {
6311
72
            SCN_TRY(postfix_result,
6312
72
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
72
                                 rd.skip_ws_before_read(), prefix_width,
6314
72
                                 value_width));
6315
72
            std::tie(it, postfix_width) = postfix_result;
6316
72
        }
6317
6318
72
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
72
            specs, prefix_width, value_width, postfix_width));
6320
68
        return it;
6321
72
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
668
    {
6261
668
        const bool need_skipped_width =
6262
668
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
668
        auto it = rng.begin();
6266
668
        std::ptrdiff_t prefix_width = 0;
6267
668
        if (specs.precision != 0) {
6268
230
            auto max_width_view = take_width(rng, specs.precision);
6269
230
            SCN_TRY(prefix_result,
6270
210
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
210
            it = prefix_result.first.base();
6272
210
            prefix_width = prefix_result.second;
6273
210
        }
6274
438
        else {
6275
438
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
438
            std::tie(it, prefix_width) = prefix_result;
6277
438
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
210
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
208
            const auto initial_width = specs.precision - prefix_width;
6291
208
            auto max_width_view =
6292
208
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
208
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
438
        else {
6298
438
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
50
                                             specs, value, loc));
6300
6301
50
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
50
        }
6307
6308
        // Read postfix
6309
72
        std::ptrdiff_t postfix_width = 0;
6310
72
        if (it != rng.end()) {
6311
72
            SCN_TRY(postfix_result,
6312
72
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
72
                                 rd.skip_ws_before_read(), prefix_width,
6314
72
                                 value_width));
6315
72
            std::tie(it, postfix_width) = postfix_result;
6316
72
        }
6317
6318
72
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
72
            specs, prefix_width, value_width, postfix_width));
6320
68
        return it;
6321
72
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
532
    {
6261
532
        const bool need_skipped_width =
6262
532
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
532
        auto it = rng.begin();
6266
532
        std::ptrdiff_t prefix_width = 0;
6267
532
        if (specs.precision != 0) {
6268
164
            auto max_width_view = take_width(rng, specs.precision);
6269
164
            SCN_TRY(prefix_result,
6270
156
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
156
            it = prefix_result.first.base();
6272
156
            prefix_width = prefix_result.second;
6273
156
        }
6274
368
        else {
6275
368
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
368
            std::tie(it, prefix_width) = prefix_result;
6277
368
        }
6278
524
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
524
        std::ptrdiff_t value_width = 0;
6282
524
        if (specs.precision != 0) {
6283
156
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
154
            const auto initial_width = specs.precision - prefix_width;
6291
154
            auto max_width_view =
6292
154
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
154
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
10
            it = w_it.base();
6295
10
            value_width = initial_width - w_it.count();
6296
10
        }
6297
368
        else {
6298
368
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
38
                                             specs, value, loc));
6300
6301
38
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
38
        }
6307
6308
        // Read postfix
6309
48
        std::ptrdiff_t postfix_width = 0;
6310
48
        if (it != rng.end()) {
6311
48
            SCN_TRY(postfix_result,
6312
48
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
48
                                 rd.skip_ws_before_read(), prefix_width,
6314
48
                                 value_width));
6315
48
            std::tie(it, postfix_width) = postfix_result;
6316
48
        }
6317
6318
48
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
48
            specs, prefix_width, value_width, postfix_width));
6320
44
        return it;
6321
48
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
770
    {
6261
770
        const bool need_skipped_width =
6262
770
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
770
        auto it = rng.begin();
6266
770
        std::ptrdiff_t prefix_width = 0;
6267
770
        if (specs.precision != 0) {
6268
276
            auto max_width_view = take_width(rng, specs.precision);
6269
276
            SCN_TRY(prefix_result,
6270
254
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
254
            it = prefix_result.first.base();
6272
254
            prefix_width = prefix_result.second;
6273
254
        }
6274
494
        else {
6275
494
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
494
            std::tie(it, prefix_width) = prefix_result;
6277
494
        }
6278
748
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
748
        std::ptrdiff_t value_width = 0;
6282
748
        if (specs.precision != 0) {
6283
254
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
250
            const auto initial_width = specs.precision - prefix_width;
6291
250
            auto max_width_view =
6292
250
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
250
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
494
        else {
6298
494
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
50
                                             specs, value, loc));
6300
6301
50
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
50
        }
6307
6308
        // Read postfix
6309
72
        std::ptrdiff_t postfix_width = 0;
6310
72
        if (it != rng.end()) {
6311
72
            SCN_TRY(postfix_result,
6312
72
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
72
                                 rd.skip_ws_before_read(), prefix_width,
6314
72
                                 value_width));
6315
72
            std::tie(it, postfix_width) = postfix_result;
6316
72
        }
6317
6318
72
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
72
            specs, prefix_width, value_width, postfix_width));
6320
68
        return it;
6321
72
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
614
    {
6261
614
        const bool need_skipped_width =
6262
614
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
614
        auto it = rng.begin();
6266
614
        std::ptrdiff_t prefix_width = 0;
6267
614
        if (specs.precision != 0) {
6268
202
            auto max_width_view = take_width(rng, specs.precision);
6269
202
            SCN_TRY(prefix_result,
6270
202
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
202
            it = prefix_result.first.base();
6272
202
            prefix_width = prefix_result.second;
6273
202
        }
6274
412
        else {
6275
412
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
412
            std::tie(it, prefix_width) = prefix_result;
6277
412
        }
6278
614
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
614
        std::ptrdiff_t value_width = 0;
6282
614
        if (specs.precision != 0) {
6283
202
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
200
            const auto initial_width = specs.precision - prefix_width;
6291
200
            auto max_width_view =
6292
200
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
200
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
166
            it = w_it.base();
6295
166
            value_width = initial_width - w_it.count();
6296
166
        }
6297
412
        else {
6298
412
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
372
                                             specs, value, loc));
6300
6301
372
            if (need_skipped_width) {
6302
238
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
238
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
238
                        .view()));
6305
238
            }
6306
372
        }
6307
6308
        // Read postfix
6309
538
        std::ptrdiff_t postfix_width = 0;
6310
538
        if (it != rng.end()) {
6311
538
            SCN_TRY(postfix_result,
6312
538
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
538
                                 rd.skip_ws_before_read(), prefix_width,
6314
538
                                 value_width));
6315
538
            std::tie(it, postfix_width) = postfix_result;
6316
538
        }
6317
6318
538
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
538
            specs, prefix_width, value_width, postfix_width));
6320
308
        return it;
6321
538
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
662
    {
6261
662
        const bool need_skipped_width =
6262
662
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
662
        auto it = rng.begin();
6266
662
        std::ptrdiff_t prefix_width = 0;
6267
662
        if (specs.precision != 0) {
6268
216
            auto max_width_view = take_width(rng, specs.precision);
6269
216
            SCN_TRY(prefix_result,
6270
200
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
200
            it = prefix_result.first.base();
6272
200
            prefix_width = prefix_result.second;
6273
200
        }
6274
446
        else {
6275
446
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
446
            std::tie(it, prefix_width) = prefix_result;
6277
446
        }
6278
646
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
646
        std::ptrdiff_t value_width = 0;
6282
646
        if (specs.precision != 0) {
6283
200
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
196
            const auto initial_width = specs.precision - prefix_width;
6291
196
            auto max_width_view =
6292
196
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
196
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
20
            it = w_it.base();
6295
20
            value_width = initial_width - w_it.count();
6296
20
        }
6297
446
        else {
6298
446
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
68
                                             specs, value, loc));
6300
6301
68
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
68
        }
6307
6308
        // Read postfix
6309
88
        std::ptrdiff_t postfix_width = 0;
6310
88
        if (it != rng.end()) {
6311
88
            SCN_TRY(postfix_result,
6312
88
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
88
                                 rd.skip_ws_before_read(), prefix_width,
6314
88
                                 value_width));
6315
88
            std::tie(it, postfix_width) = postfix_result;
6316
88
        }
6317
6318
88
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
88
            specs, prefix_width, value_width, postfix_width));
6320
84
        return it;
6321
88
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
406
            auto max_width_view = take_width(rng, specs.precision);
6269
406
            SCN_TRY(prefix_result,
6270
396
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
396
            it = prefix_result.first.base();
6272
396
            prefix_width = prefix_result.second;
6273
396
        }
6274
610
        else {
6275
610
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
610
            std::tie(it, prefix_width) = prefix_result;
6277
610
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
396
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
390
            const auto initial_width = specs.precision - prefix_width;
6291
390
            auto max_width_view =
6292
390
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
390
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
610
        else {
6298
610
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
544
                                             specs, value, loc));
6300
6301
544
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
544
        }
6307
6308
        // Read postfix
6309
840
        std::ptrdiff_t postfix_width = 0;
6310
840
        if (it != rng.end()) {
6311
506
            SCN_TRY(postfix_result,
6312
506
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
506
                                 rd.skip_ws_before_read(), prefix_width,
6314
506
                                 value_width));
6315
506
            std::tie(it, postfix_width) = postfix_result;
6316
506
        }
6317
6318
840
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
840
            specs, prefix_width, value_width, postfix_width));
6320
762
        return it;
6321
840
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
406
            auto max_width_view = take_width(rng, specs.precision);
6269
406
            SCN_TRY(prefix_result,
6270
396
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
396
            it = prefix_result.first.base();
6272
396
            prefix_width = prefix_result.second;
6273
396
        }
6274
610
        else {
6275
610
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
610
            std::tie(it, prefix_width) = prefix_result;
6277
610
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
396
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
390
            const auto initial_width = specs.precision - prefix_width;
6291
390
            auto max_width_view =
6292
390
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
390
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
610
        else {
6298
610
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
544
                                             specs, value, loc));
6300
6301
544
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
544
        }
6307
6308
        // Read postfix
6309
840
        std::ptrdiff_t postfix_width = 0;
6310
840
        if (it != rng.end()) {
6311
506
            SCN_TRY(postfix_result,
6312
506
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
506
                                 rd.skip_ws_before_read(), prefix_width,
6314
506
                                 value_width));
6315
506
            std::tie(it, postfix_width) = postfix_result;
6316
506
        }
6317
6318
840
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
840
            specs, prefix_width, value_width, postfix_width));
6320
762
        return it;
6321
840
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
406
            auto max_width_view = take_width(rng, specs.precision);
6269
406
            SCN_TRY(prefix_result,
6270
396
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
396
            it = prefix_result.first.base();
6272
396
            prefix_width = prefix_result.second;
6273
396
        }
6274
610
        else {
6275
610
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
610
            std::tie(it, prefix_width) = prefix_result;
6277
610
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
396
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
390
            const auto initial_width = specs.precision - prefix_width;
6291
390
            auto max_width_view =
6292
390
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
390
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
610
        else {
6298
610
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
544
                                             specs, value, loc));
6300
6301
544
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
544
        }
6307
6308
        // Read postfix
6309
840
        std::ptrdiff_t postfix_width = 0;
6310
840
        if (it != rng.end()) {
6311
506
            SCN_TRY(postfix_result,
6312
506
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
506
                                 rd.skip_ws_before_read(), prefix_width,
6314
506
                                 value_width));
6315
506
            std::tie(it, postfix_width) = postfix_result;
6316
506
        }
6317
6318
840
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
840
            specs, prefix_width, value_width, postfix_width));
6320
762
        return it;
6321
840
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6322
6323
    template <typename T>
6324
    scan_expected<iterator> operator()(T& value)
6325
32.4k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
32.4k
                          basic_contiguous_scan_context<char_type>>) {
6330
32.4k
            auto rd = make_reader<T, char_type>();
6331
32.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
17.7k
            return impl(rd, range, value);
6333
        }
6334
0
        else if constexpr (!detail::is_type_disabled<T>) {
6335
0
            auto rd = make_reader<T, char_type>();
6336
0
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
0
                specs.width != 0) {
6340
0
                return impl(rd, range, value);
6341
0
            }
6342
6343
0
            auto crange = get_as_contiguous(range);
6344
0
            SCN_TRY(it, impl(rd, crange, value));
6345
0
            return ranges::next(range.begin(),
6346
0
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
32.4k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6325
2.37k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.37k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.37k
            auto rd = make_reader<T, char_type>();
6331
2.37k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
678
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.37k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
2.37k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.37k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.37k
            auto rd = make_reader<T, char_type>();
6331
2.37k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
678
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.37k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6325
2.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.33k
            auto rd = make_reader<T, char_type>();
6331
2.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
602
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.33k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6325
2.37k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.37k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.37k
            auto rd = make_reader<T, char_type>();
6331
2.37k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
938
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.37k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6325
2.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.33k
            auto rd = make_reader<T, char_type>();
6331
2.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
656
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6325
2.37k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.37k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.37k
            auto rd = make_reader<T, char_type>();
6331
2.37k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
692
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.37k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
2.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.33k
            auto rd = make_reader<T, char_type>();
6331
2.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.33k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
2.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.33k
            auto rd = make_reader<T, char_type>();
6331
2.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.33k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6325
2.33k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.33k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.33k
            auto rd = make_reader<T, char_type>();
6331
2.33k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.33k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6325
1.28k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.28k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.28k
            auto rd = make_reader<T, char_type>();
6331
1.28k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
668
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
1.28k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.28k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.28k
            auto rd = make_reader<T, char_type>();
6331
1.28k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
668
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
532
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6325
1.28k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.28k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.28k
            auto rd = make_reader<T, char_type>();
6331
1.28k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
770
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
614
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6325
1.28k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.28k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.28k
            auto rd = make_reader<T, char_type>();
6331
1.28k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
662
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.28k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6353
6354
    scan_expected<iterator> operator()(
6355
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6356
        const
6357
0
    {
6358
0
        SCN_EXPECT(false);
6359
0
        SCN_UNREACHABLE;
6360
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6361
6362
    range_type range;
6363
    const detail::format_specs& specs;
6364
    detail::locale_ref loc;
6365
};
6366
6367
template <typename Context>
6368
struct custom_reader {
6369
    using context_type = Context;
6370
    using char_type = typename context_type::char_type;
6371
    using parse_context_type = typename context_type::parse_context_type;
6372
    using iterator = typename context_type::iterator;
6373
6374
    template <typename T>
6375
    scan_expected<iterator> operator()(T&) const
6376
0
    {
6377
0
        SCN_EXPECT(false);
6378
0
        SCN_UNREACHABLE;
6379
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6380
6381
    scan_expected<iterator> operator()(
6382
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6383
        const
6384
0
    {
6385
0
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6386
0
        return {ctx.begin()};
6387
0
    }
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6388
6389
    parse_context_type& parse_ctx;
6390
    context_type& ctx;
6391
};
6392
}  // namespace impl
6393
6394
SCN_END_NAMESPACE
6395
}  // namespace scn